[JDBC] Kettle on MaxCompute 使用指南

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: Kettle是一款开源的ETL工具,纯Java实现,可以在Windows、Unix和Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑 。基本讲介绍基于Kettle的MaxCompute插件实现数据上云。

Kettle版本:8.2.0.0-342

MaxCompute JDBC driver版本:3.2.8


Setup

  1. 下载并安装Kettle
  2. 下载MaxCompute JDBC driver
  3. 将MaxCompute JDBC driver置于Kettle安装目录下的lib子目录(data-integration/lib)
  4. 下载并编译MaxCompute Kettle plugin:https://github.com/aliyun/aliyun-maxcompute-data-collectors
  5. 将编译后的MaxCompute Kettle plugin置于Kettle安装目录下的lib子目录(data-integration/lib)
  6. 启动spoon


Job

我们可以通过Kettle + MaxCompute JDBC driver来实现对MaxCompute中任务的组织和执行。


首先需要执行以下操作:

  1. 新建Job
  2. 新建Database Connection
    JDBC连接串格式为:jdbc:odps:?project=
    JDBC driver class为:com.aliyun.odps.jdbc.OdpsDriver
    Username为阿里云AccessKey Id
    Password为阿里云AccessKey Secret
    JDBC更多配置见:https://help.aliyun.com/document_detail/161246.html



之后,可以根据业务需要,通过SQL节点访问MaxCompute。下面我们以一个简单的ETL过程为例:



Create table节点的配置如下:



需要注意:

  1. 这里Connection需要选择我们配置好的
  2. 不要勾选Send SQL as single statement


Load from OSS节点配置如下:


需要注意的点同Create table节点。有关更多Load的用法,见:https://help.aliyun.com/document_detail/157418.html


Processing节点配置如下:

需要注意的点同Create table节点。


Transformation

我们可以通过MaxCompute Kettle plugin实现数据流出或流入MaxCompute。


首先新建Transformation,之后新建Aliyun MaxCompute Input节点,配置如下:

image.png

MaxComputelnputstep

StepName

AliyunMaxComputelnput

Configureconnection

Endpoint

http://10.101.222.162:8002/odpsc

tunnelendpoint

Accessld

63wd3dptlmb5ocdkj94pxmm

Accesskey

ProjectName

odpsmingyou-test

TableName

testpartition-table

Partition

col3-bar

Fields

TableField

col1

col2

Helps

OK

Cancel


在MaxCompute中新建一张空表,schema与test_partition_table一致。


新建Aliyun MaxCompute Output节点,配置如下:

image.png

MaxComputeOutputstep

StepName

AliyunMaxcomputeOutput

Configureconnection

Endpoint

http://10.101.222.162:8002/odpsdailyrul

tunnelendpoint

http://10.101.222.143:8089

Accessld

63wd3dpztilmb5ocdkj94pxmm

Accesskey

ProjectName

odpsmingyoutest

TableName

testpartition-table.2

Partition

col3-foo

Truncatebeforeinsert

Fields

StreamField

TableField

col1

col1

col2

col2

OK

Fields

Cancel

Help


执行Transformation,数据便从test_partition_table被下载,后被上传至test_partition_table_2。


其他

设置MaxCompute flags

如图,在执行DDL/DML/SQL之前,可以通过set key=value;的方式配置flags。

image.png

SQL

Jobentryname:SQL

Connection

ODPS

Wizard...

Edit...

New...

sQLFromfile

sQLFILename

Browse...

SendSQLassinglestatement?

Usevariablesubstitution?

SQLScriot

setkey-valuei

PREATETABLEKETLIEtEsT(oIng2i

Line2Column51

Help

Cancel

OK

Script模式

暂时无法支持

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
SQL Java 大数据
Hive实战(03)-深入了解Hive JDBC:在大数据世界中实现数据交互
Hive实战(03)-深入了解Hive JDBC:在大数据世界中实现数据交互
633 1
|
数据采集 SQL 分布式计算
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
数据处理 、大数据、数据抽取 ETL 工具 DataX 、Kettle、Sqoop
1470 0
|
SQL 前端开发 Java
大数据平台底层技术-JAVA篇-如何动态加载不同版本的 HIVE JDBC 驱动 - 一文读懂JAVA的类加载机制 1
大数据平台底层技术-JAVA篇-如何动态加载不同版本的 HIVE JDBC 驱动 - 一文读懂JAVA的类加载机制
|
2月前
|
Java 大数据 数据库连接
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
38 2
大数据-163 Apache Kylin 全量增量Cube的构建 手动触发合并 JDBC 操作 Scala
|
2月前
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
67 0
|
6月前
|
分布式计算 大数据 Java
MaxCompute产品使用合集之在datawoks的datastudio和odpscmd里执行时间没有问题,但是用jdbc连接大数据计算MaxCompute获取getdate()时间就不对,该怎么办
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
6月前
|
缓存 监控 druid
对比各大数据库连接池技术-Jdbc-Dbcp-C3p0-Druid-Hikaricp
对比各大数据库连接池技术-Jdbc-Dbcp-C3p0-Druid-Hikaricp
85 0
|
SQL 安全 Java
开启 Kerberos 安全认证的大数据环境中如何正确指定 HS2 的 jdbc url 地址?
开启 Kerberos 安全认证的大数据环境中如何正确指定 HS2 的 jdbc url 地址?
|
SQL Java 大数据
大数据平台底层技术-JAVA篇-如何动态加载不同版本的 HIVE JDBC 驱动 - 一文读懂JAVA的类加载机制 2
大数据平台底层技术-JAVA篇-如何动态加载不同版本的 HIVE JDBC 驱动 - 一文读懂JAVA的类加载机制
|
7月前
|
关系型数据库 MySQL 大数据
程序员小sister的烦恼_快速上手大数据ETL神器Kettle(xls导入mysql)
程序员小sister的烦恼_快速上手大数据ETL神器Kettle(xls导入mysql)
111 0

相关产品

  • 云原生大数据计算服务 MaxCompute