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

简介: 本文用到的 阿里云数加-大数据计算服务MaxCompute产品地址:https://www.aliyun.com/product/odps 简介 Kettle是一款开源的ETL工具,纯java实现,可以运行于Windows, Unix, Linux上运行,提供图形化的操作界面,可以通过拖拽控件的方式,方便地定义数据传输的拓扑。

本文用到的

阿里云数加-大数据计算服务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://odps-repo.oss-cn-hangzhou.aliyuncs.com/data-collectors/aliyun-kettle-odps-plugin-2.0.4.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文件中。

相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
目录
相关文章
|
2月前
|
分布式计算 DataWorks IDE
MaxCompute数据问题之忽略脏数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
47 0
|
2月前
|
SQL 存储 分布式计算
MaxCompute问题之下载数据如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
38 0
|
2月前
|
分布式计算 关系型数据库 MySQL
MaxCompute问题之数据归属分区如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
36 0
|
2月前
|
分布式计算 DataWorks BI
MaxCompute数据问题之运行报错如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
38 1
|
2月前
|
分布式计算 关系型数据库 数据库连接
MaxCompute数据问题之数据迁移如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
35 0
|
2月前
|
分布式计算 Cloud Native MaxCompute
MaxCompute数据问题之没有访问权限如何解决
MaxCompute数据包含存储在MaxCompute服务中的表、分区以及其他数据结构;本合集将提供MaxCompute数据的管理和优化指南,以及数据操作中的常见问题和解决策略。
38 0
|
11天前
|
数据采集 搜索推荐 大数据
大数据中的人为数据
【4月更文挑战第11天】人为数据,源于人类活动,如在线行为和社交互动,是大数据的关键部分,用于理解人类行为、预测趋势和策略制定。数据具多样性、实时性和动态性,广泛应用于市场营销和社交媒体分析。然而,数据真实性、用户隐私和处理复杂性构成挑战。解决策略包括数据质量控制、采用先进技术、强化数据安全和培养专业人才,以充分发挥其潜力。
14 3
|
14天前
|
运维 供应链 大数据
数据之势丨从“看数”到“用数”,百年制造企业用大数据实现“降本增效”
目前,松下中国旗下的64家法人公司已经有21家加入了新的IT架构中,为松下集团在中国及东北亚地区节约了超过30%的总成本,减少了近50%的交付时间,同时,大幅降低了系统的故障率。
|
1月前
|
SQL 分布式计算 监控
大数据计算MaxCompute等长时间没有查出来结果的原因可能有以下几点:
【2月更文挑战第24天】大数据计算MaxCompute等长时间没有查出来结果的原因可能有以下几点:
20 2
|
1月前
|
分布式计算 DataWorks 关系型数据库
DataWorks报错问题之dataworks同步rds数据到maxcompute时报错如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。

相关产品

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