kettle部署配置Kettle MaxCompute插件aliyun-kettle-odps-plugin-2.0.4.tar.gz后,从源端达梦数据库DM6抽取数据写入odps项目空间报错ERROR:Stream Field size not equal to table field size ,如下图: kettle插件部署及操作说明参考文档: https://developer.aliyun.com/article/68911
环境要求 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文件中。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。