简介: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/ali...
  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/docum...

之后,能够依据业务须要,通过SQL节点拜访MaxCompute。上面咱们以一个简略的ETL过程为例:

Create table节点的配置如下:

须要留神:

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

Load from OSS节点配置如下:

须要留神的点同Create table节点。无关更多Load的用法,见:
https://help.aliyun.com/docum...

Processing节点配置如下:

须要留神的点同Create table节点。

Transformation

咱们能够通过MaxCompute Kettle plugin实现数据流出或流入MaxCompute。

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

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

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

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

其余

设置MaxCompute flags


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

Script模式

临时无奈反对

原文链接

本文为阿里云原创内容,未经容许不得转载。