文档章节

[ETL实践指南]基于Kettle的MaxCompute插件实现数据上云

_夜枫
 _夜枫
发布于 2017/04/06 21:49
字数 652
阅读 61
收藏 0

本文用到的

阿里云数加-大数据计算服务MaxCompute产品地址:https://www.aliyun.com/product/odps

简介

Kettle是一款开源的ETL工具,纯java实现,可以运行于Windows, Unix, Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑。Kettle支持丰富的数据输入输出源,数据库支持Oracle,MySql,DB2等,也支持业界各种开源的大数据系统,例如HDFS, HBase, Cassandra, MongoDB等。本文将介绍如何利用MaxCompute的插件无缝对接阿里云的大数据计算平台——MaxCompute。

环境要求

  • JDK (1.6以上,推荐1.7)
  • Kettle(建议5.4.0以后的版本)
  • Apache Maven 3.x

插件部署

下载MaxCompute的Kettle插件包

$ wget http://repo.aliyun.com/download/aliyun-kettle-odps-plugin-1.0.0.tar.gz

部署Kettle MaxCompute插件

将kettle-odps-plugin安装到Kettle plugins目录下

$ cp aliyun-kettle-odps-plugin-1.0.0.tar.gz {YOUR_KETTLE_DIRECTORY}/plugins
$ cd {YOUR_KETTLE_DIRECTORY}/plugins
$ tar zxvf aliyun-kettle-odps-plugin-1.0.0.tar.gz && rm aliyun-kettle-odps-plugin-1.0.0.tar.gz

安装完成后,重启Kettle,重启后新建一个转换(Transformation),然后可以在Big Data这个大类中找到Aliyun MaxCompute Input/Output,如下图所示。

屏幕快照 2016-11-30 下午5.36.29.png

使用场景

这里举几个简单的示例演示一下如何利用Kettle的MaxCompute插件将数据导入或导出。

MySQL数据导入MaxCompute

安装MySQL JDBC Connector

kettle默认是没有MySQL的JDBC Connector的,需要先下载MySQL 的JDBC Connector,将Connector的jar包放至kettle的lib目录下,重启kettle即可。

Steps配置

  • 新建mysql的DB连接

mysql connect.png

  • 添加mysql的表输入

表输入配置需要提供一个sql,本例是要将Mysql数据库的words表导入MaxCompute中,如下图所示,运行“select * from words;”这样一条SQL即可,其中words表的schema为“(id int, line varchar(1000))”。
mysql input.png

  • 添加Aliyun MaxCompute Output

首先需要要MaxCompute中创建与Mysql数据源相对应的数据表,本例中建表语句如下:

create table testoyz (a bigint, b string);

然后,如下图所示,配置好endpoint, accessId, accessKey, projectName, tableName等必要的参数。

粘贴图片0.png

  • 运行转换,查看结果

运行已经建立好的转换Steps,运行成功后,可以在MaxCompute的相应数据表中查询到传输过来的数据。

odps@ xxx_project_name>read testoyz;
+------------+------------+
| a          | b          |
+------------+------------+
| 1          | hello world |
| 2          | hello maxcompute |
| 3          | test test test |
+------------+------------+

将MaxCompute表导出到Excel文件

可以使用Aliyun MaxCompute Input组件下载MaxCompute中的表数据到Excel文件中,下图的配置是将上个例子中的表导出为Excel文件。

粘贴图片1.png

配置好后运行转换,表中的数据会被下载保存在excel文件中。

本文转载自:https://yq.aliyun.com/articles/68911

_夜枫
粉丝 10
博文 506
码字总数 0
作品 0
朝阳
后端工程师
私信 提问
【干货索引】阿里云大数据计算服务MaxCompute与生态系统的融合

摘要: MaxCompute大家都不陌生,之前产品名称叫ODPS,之后随国际化而更名。从支持阿里集团内部99%数据业务到计算能力对外输出,帮助政府、互联网公司、金融等进行大数据项目服务,使得数据变...

阿里云云栖社区
2018/01/12
25
0
阿里巴巴大数据计算平台MaxCompute(原名ODPS)全套攻略(持续更新20171127)

概况介绍 大数据计算服务(MaxCompute,原名ODPS,产品地址:https://www.aliyun.com/product/odps)是一种快速、完全托管的TB/PB级数据仓库解决方案。MaxCompute向用户提供了完善的数据导入方...

隐林
2017/05/05
0
0
【大数据】odps数据迁移方式

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/binggetong/article/details/82762289 1、按迁移工具分类 一共分为2种:Tunnel批量数据通道、DataHub实时通道...

Elsa晓冰
2018/09/18
0
0
阿里云MaxCompute 2019-1月刊

亲爱的开发者们,MaxCompute 2019.1月刊为您带来产品最新动态和丰富的产品技术内容,欢迎阅读。 导读 【新视频】精选视频集锦全新上线 【新故事】精选案例集锦全面更新 【新文档】2019年1月M...

晋恒
02/20
0
0
玩转大数据系列之一:数据采集与同步

数据的采集和同步,是先将数据从设备、或者本地数据源采集、同步到阿里云上,然后在阿里云上对数据进行分析和处理,最终完成您的业务要求。本文向您介绍阿里云各产品的数据采集和同步的操作实...

阿里云云栖社区
01/07
162
0

没有更多内容

加载失败,请刷新页面

加载更多

面向对象编程

1、类和对象 类是对象的蓝图和模板,而对象是实例;即对象是具体的实例,类是一个抽象的模板 当我们把一大堆拥有共同特征的对象的静态特征(属性)和动态特征(行为)都抽取出来后,就可以定...

huijue
今天
8
0
redis异常解决 :idea启动本地redis出现 jedis.exceptions.JedisDataException: NOAUTH Authentication required

第一次安装在本地redis服务,试试跑项目,结果却出现nested exception is redis.clients.jedis.exceptions.JedisDataException: NOAUTH Authentication required错误,真是让人头疼 先检查一...

青慕
今天
10
0
Spring 之 IoC 源码分析 (基于注解方式)

一、 IoC 理论 IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。 二、IoC方式 Spring为IoC提供了2种方式,一种是基于xml...

星爵22
今天
25
0
Docker安装PostgresSql

Docker安装PostgresSql 拉取docker镜像 # docker pull postgres:10.1010.10: Pulling from library/postgres9fc222b64b0a: Pull complete 38296355136d: Pull complete 2809e135bbdb: Pu......

Tree
今天
8
0
内容垂直居中

方法一: 采用上下 padding 形式,将内容放置在垂直居中 .line { padding: 2% 0; text-align: center; height: 5px;} <div class="line"> 内容垂直居中</div> 方法二: 采......

低至一折起
今天
20
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部