[JDBC] Kettle on MaxCompute 使用指南
简介: Kettle是一款开源的ETL工具,纯Java实现,可以在Windows、Unix和Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑 。基本讲介绍基于Kettle的MaxCompute插件实现数据上云。
Kettle版本:8.2.0.0-342
MaxCompute JDBC driver版本:3.2.8
Setup
- 下载并安装Kettle
- 下载MaxCompute JDBC driver
- 将MaxCompute JDBC driver置于Kettle安装目录下的lib子目录(data-integration/lib)
- 下载并编译MaxCompute Kettle plugin:https://github.com/aliyun/aliyun-maxcompute-data-collectors
- 将编译后的MaxCompute Kettle plugin置于Kettle安装目录下的lib子目录(data-integration/lib)
- 启动spoon
Job
我们可以通过Kettle + MaxCompute JDBC driver来实现对MaxCompute中任务的组织和执行。
首先需要执行以下操作:
- 新建Job
- 新建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节点的配置如下:
需要注意:
- 这里Connection需要选择我们配置好的
- 不要勾选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节点,配置如下:
在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模式
暂时无法支持
本文为阿里云原创内容,未经允许不得转载。
[JDBC] Kettle on MaxCompute 使用指南的更多相关文章
- MaxCompute安全管理指南-基础篇
背景及目的 方便和辅助MaxCompute的project owner或安全管理员进行project的日常安全运维,保障数据安全. MaxCompute有安全模型,DataWorks也有安全模型,当通 ...
- MaxCompute安全管理指南-案例篇
通过<MaxCompute安全管理-基础篇>了解到MaxCompute和DataWorks的相关安全模型.两个产品安全方面的关联,以及各种安全操作后,本篇主要给出一些安全管理案例,给安全管 ...
- 使用MaxCompute Java SDK运行安全相关命令
使用MaxCompute Console的同学,可能都使用过MaxCompute安全相关的命令.官方文档上有详细的MaxCompute安全指南,并给出了安全相关语句汇总. 简而言之,权限管理.列级 ...
- kettle连接oracle出现Error connecting to database: (using class oracle.jdbc.driver.OracleDriver)
jdbc驱动,下载jdbc14.jar文件放入 pdi-ce-5.3.0.0-213\data-integration\libswt\win64里 之后重启kettle即可 jdbc14.jar文 ...
- MaxCompute Spark开发指南
0. 概述 本文档面向需要使用MaxCompute Spark进行开发的用户使用.本指南主要适用于具备有Spark开发经验的开发人员. MaxCompute Spark是MaxCompute提供的兼容 ...
- Kettle jdbc连接hive出现问题
jdbc连接时报如下错误: Error connecting to database [k] : org.pentaho.di.core.exception.KettleDatabaseExcepti ...
- Java核心技术及面试指南 JDBC部分的面试题总结以及答案
5.5.1 你最近的项目里用到的是哪个数据?或你用过哪些数据库?或你对哪个数据库最熟悉? 通过这个问题,我们将会确认候选人是否在项目里用过数据库或JDBC. 5.5.2 你有没有建过表?或修改表里的字 ...
- MaxCompute 图计算开发指南
快速入门step by step MaxCompute Studio 创建完成 MaxCompute Java Module后,即可以开始开发Graph了. 代码示例 在examples目录下有gra ...
- 使用DataX同步MaxCompute数据到TableStore(原OTS)优化指南
概述 现在越来越多的技术架构下会组合使用MaxCompute和TableStore,用MaxCompute作大数据分析,计算的结果会导出到TableStore提供在线访问.MaxCompute提供海量 ...
- 实战笔记丨JDBC问题定位指南
JDBC(Java数据库连接性)是Java API,用于管理与数据库的连接,发出查询和命令以及处理从数据库获得的结果集.JDBC在1997年作为JDK 1.1的一部分发布,是为Java持久层开发的首批 ...
随机推荐
- 毕设系列之Libx264实时视频流(YUV 420P转H264视频编码篇)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- 记录--Vue 右键菜单的秘密:自适应位置的实现方法
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 下图这个情景,你是否也遇到过? 当你右键点击网页上的某个元素时,弹出的菜单被屏幕边缘遮挡了,导致你无法看清或选择菜单项? 上图中右键菜单的 ...
- 记录--手把手教你,用electron实现截图软件
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 背景 因为我们日常开发项目的时候,需要和同事对接api和文档还有UI图,所以有时候要同时打开多个窗口,并在多个窗口中切换,来选择自己要的信 ...
- 基于VB6的磁性移动窗体 - 开源研究系列文章
这次继续整理代码.这个磁性窗体是以前大学的时候开发的,当时模仿的Winamp的效果进行的编程.当时的时候有Windows API函数能够进行处理,但是XP的年代,那个API只是移动的虚框,而不是移动窗 ...
- C#词云生成器
GitHub - sdcb/Sdcb.WordCloud: Generate WordCloud image from .NET/.NET Core 效果 根据mask生成
- APReLU:跨界应用,用于机器故障检测的自适应ReLU | IEEE TIE 2020
论文的工作属于深度学习在工业界的应用,借鉴计算机视觉的解决方法,针对机器故障检测的场景提出自适应的APReLU,对故障检测的准确率有很大的提升.论文整体思想应该也可以应用于计算机视觉,代码也开源了,大 ...
- Java生成Json字符串
public class Test01 { public static void main(String[] args) { // StringBuilder responseMsg = new St ...
- Echarts入门案例教程
一.定义容器变量并获取页面div元素 1 var chartDom = document.getElementById('chart3'); 二.初始化容器 1 var myChart = echar ...
- 正则表达式 (?<= 与 (?= 的区别
(?=pattern) 正向肯定预查,在任何匹配pattern的字符串开始处匹配查找字符串.这是一个非获取匹配, 也就是说,该匹配不需要获取供以后使用.例如,"Windows(?=95|98 ...
- MySQL检索和过滤数据
注意 多条SQL语句必须以分号(:)分隔: SQL语句不区分大小写: 在处理SQL语句时,其中所有空格都被忽略: 当选择多个列是,一定要在列名之间加上逗号,但最后一个列名后不加. SELECT语句 检 ...