前言在实习过程中,遇到了数据库迁移项目,对于数据仓库,大数据集成类应用,通常会采用ETL工具辅助完成,公司和客户使用的比较多的是Sqoop,DataX和Kettle这三种工具。简单的对这三种ETL工具进行一次梳理。ETL工具,需要完成对源端数据的抽取(exat),交互转换(transform),加载(load)至目标端的过程。1.Sqoop1.1介绍Sqoop,SQLtoHadoop,可以实现SQL和Hadoop之间的数据转换。Apache开源的一款在Hadoop和关系数据库服务器之间传输数据的工具,可以将一个关系型数据库(MySQL,Oracle等)中的数据库导入到Hadoop中的HDFS中
需求:配置Kettle连接大数据HDFSKettle对接大数据平台的配置一.软件环境1.Hadoop集群,版本:Hadoop3.3.02.ETL工具Kettle,版本:pdi-ce-7.0.0.0-25(解压命令:*.zip用unzip解压)3.MySQL服务器,版本:mysql5.7.37二.修改Kettle配置文件1.文件名称:/home/hadoop/software\data-integration\plugins\pentaho-big-data-plugin\plugin.properties2.修改参数:active.hadoop.configuration=hdp243.Ket
kettle创建转换报错详情读取共享对象时发生一个严重错误Unabletoreadfile[file:///D:/kettle/data-integration/.kettle/shared.xml].ErrorreadinginformationfrominputstreamInvalidbyte1of1-byteUTF-8sequence.原因分析共享时不支持中文名称的DB连接解决办法先删除含中文名称的DB链接,然后再删除D:\kettle\data-integration.kettle\shared.xml中connection部分的内容(对应自己的安装目录去找),重新创建不含中文名的D
Kafka到HDFS,除了用KafkaAPI和flume之外,还可以用kettle,最大优点是不用写代码!版本:Kettle版本:8.2、Hadoop版本:3.1.3前提: 详情请看鄙人的一百零一、Kettle8.2.0连接Hive3.1.2(踩坑,亲测有效)http://t.csdn.cn/mWfOChttp://t.csdn.cn/mWfOC前提一、Hadoop系列配置文件已复制到kettle路径下 路径为:D:\java\kettle\pdi-ce-8.2.0.0-342\data-integration\plugins\pentaho-big-data-plugin\hadoop
一、证书下载:二、证书导入注意:JAVA_HOME: C:\Java\jdk1.8.0_333,先cd到security目录下,再执行导入操作密钥默认口令:changeitC:\Java\jdk1.8.0_333\jre\lib\security>keytool-import-aliasjkk-keystorecacerts-fileD:\jkk_ssl.cer输入密钥库口令:所有者:O=InternetWidgitsPtyLtd,L=XIANYANG,ST=SHANXI,C=CN发布者:O=InternetWidgitsPtyLtd,L=XIANYANG,ST=SHANXI,C=CN序列号:
Kettle8.2脚本组件之Java脚本一、相关说明二、设计转换三、转换配置四、运行转换五、结果查看一、相关说明Java脚本组件说明:java脚本就是使用java语言通过代码编程来完成对数据流的操作。内置了很多函数可以直接使用。java脚本主程序入口是processRow()函数,其等价于main方法,processRow()函数是用来处理数据流的场所!需求说明:从Excel中读取数据,生成newcode字段,如果code列为NULL就使用name列来替换,否则就在code列的后面加上123,结果保存在Excel。测试数据源后续上传至博客中二、设计转换输入:Excel输入脚本:Java代码输出
Kettle8.2脚本组件之Java脚本一、相关说明二、设计转换三、转换配置四、运行转换五、结果查看一、相关说明Java脚本组件说明:java脚本就是使用java语言通过代码编程来完成对数据流的操作。内置了很多函数可以直接使用。java脚本主程序入口是processRow()函数,其等价于main方法,processRow()函数是用来处理数据流的场所!需求说明:从Excel中读取数据,生成newcode字段,如果code列为NULL就使用name列来替换,否则就在code列的后面加上123,结果保存在Excel。测试数据源后续上传至博客中二、设计转换输入:Excel输入脚本:Java代码输出
kettle9.2报Connectionfailed.Verifyallconnectionparametersandconfirmthattheappropriatedriverisinstalled.Theservertimezonevalue‘�й���ʱ��’isunrecognizedorrepresentsmorethanonetimezone.YoumustconfigureeithertheserverorJDBCdriver(viathe‘serverTimezone’configurationproperty)touseamorespecifictimezonevalue
目录1.配置源数据库A 1.1文件-->数据库连接1.2配置数据库,选择自己的数据库并配置。1.3数据库配置可能会报错,原因是缺少数据库驱动2.配置目标数据库(与源数据库一致)3.数据迁移(举例)3.1创建数据转化任务3.2选择数据来源(输入-->表输入)3.3选择数据去向(输出-->表输出)4.数据转化开始执行5.其他 Kettle支持多种数据源,MySql、Oracle、Excel等,本文以最简单的Mysql向MySql迁移为例。后续逐步增加复杂度,如:表格不一致时,增加数据常亮、数据筛选、新增自增列等等,甚至增加脚本逻辑代码。1.配置源数据库A 1.1文件-->数据库连接1
目录1.配置源数据库A 1.1文件-->数据库连接1.2配置数据库,选择自己的数据库并配置。1.3数据库配置可能会报错,原因是缺少数据库驱动2.配置目标数据库(与源数据库一致)3.数据迁移(举例)3.1创建数据转化任务3.2选择数据来源(输入-->表输入)3.3选择数据去向(输出-->表输出)4.数据转化开始执行5.其他 Kettle支持多种数据源,MySql、Oracle、Excel等,本文以最简单的Mysql向MySql迁移为例。后续逐步增加复杂度,如:表格不一致时,增加数据常亮、数据筛选、新增自增列等等,甚至增加脚本逻辑代码。1.配置源数据库A 1.1文件-->数据库连接1