ETL-Kettle-pdi-ce-8.2.0.0-342

1.资料库建立

connect->repository manager->add->other repositories->database repository->get started->创建连接->finish->connect now->admin/admin->connect

2.两表join并选择抽取部分字段

kettle支持arm架构的 kettle开发_etl


kettle支持arm架构的 kettle开发_etl_02


kettle支持arm架构的 kettle开发_数据_03


kettle支持arm架构的 kettle开发_kettle支持arm架构的_04


kettle支持arm架构的 kettle开发_kettle支持arm架构的_05


kettle支持arm架构的 kettle开发_大数据_06

3.三表join并选择抽取部分字段

kettle支持arm架构的 kettle开发_数据_07


kettle支持arm架构的 kettle开发_etl_08

4.写sql进行多表连接并抽取部分字段

kettle支持arm架构的 kettle开发_大数据_09


kettle支持arm架构的 kettle开发_字段_10


kettle支持arm架构的 kettle开发_数据_11


kettle支持arm架构的 kettle开发_字段_12

5.不同数据源的多表连接(孤岛问题)

kettle支持arm架构的 kettle开发_etl_13


kettle支持arm架构的 kettle开发_kettle支持arm架构的_14

kettle支持arm架构的 kettle开发_数据_15


kettle支持arm架构的 kettle开发_大数据_16

6.远程操作其它多台电脑并在其它电脑上实现抽取数据

1.测试网络连接:
操作的几台电脑关闭防火墙->网络是否能ping通
2.开放root远程登陆权限:
mysql -u root -p123456
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';
flush privileges;

kettle支持arm架构的 kettle开发_数据_17


kettle支持arm架构的 kettle开发_kettle支持arm架构的_18


kettle支持arm架构的 kettle开发_字段_19


kettle支持arm架构的 kettle开发_大数据_20


kettle支持arm架构的 kettle开发_数据_21

7.行转列

修改MySQL密码:
set password for root@localhost=password('123456');
##行转列由于翻译问题需要选择列转行组件

kettle支持arm架构的 kettle开发_字段_22


kettle支持arm架构的 kettle开发_kettle支持arm架构的_23


kettle支持arm架构的 kettle开发_字段_24


kettle支持arm架构的 kettle开发_大数据_25


kettle支持arm架构的 kettle开发_etl_26


kettle支持arm架构的 kettle开发_大数据_27

8.增量插入,防止多次导入重复数据(数据量小时使用)

1.使用sql脚本清空表数据再插入数据
2.表输出时使用裁切表

kettle支持arm架构的 kettle开发_数据_28


kettle支持arm架构的 kettle开发_kettle支持arm架构的_29


kettle支持arm架构的 kettle开发_kettle支持arm架构的_30


kettle支持arm架构的 kettle开发_字段_31

9.大数据量的增量插入

1.插入/更新:插入没有的或更新变化的数据(insert/update)
2.同步更新:源表与目标表内容完全一致(将新数据源数据同步到就数据源中)
3.时间戳方式更新:清空1天内的数据再插入1天内的数据

kettle支持arm架构的 kettle开发_大数据_32


kettle支持arm架构的 kettle开发_大数据_33


kettle支持arm架构的 kettle开发_kettle支持arm架构的_34


kettle支持arm架构的 kettle开发_大数据_35


kettle支持arm架构的 kettle开发_字段_36


kettle支持arm架构的 kettle开发_字段_37


kettle支持arm架构的 kettle开发_etl_38


kettle支持arm架构的 kettle开发_大数据_39


kettle支持arm架构的 kettle开发_etl_40


kettle支持arm架构的 kettle开发_kettle支持arm架构的_41

10.job定时任务

kettle支持arm架构的 kettle开发_数据_42


kettle支持arm架构的 kettle开发_数据_43


kettle支持arm架构的 kettle开发_kettle支持arm架构的_44


kettle支持arm架构的 kettle开发_字段_45

11.Oracle工具操作

1.Oracle切换账号
2.Oracle表修改元数据(当报错提示:列 "ODS"."ODS_CUST_INFO"."CREATE_TIME"的值太大(实际值:37,最大值:30))

kettle支持arm架构的 kettle开发_数据_46


kettle支持arm架构的 kettle开发_字段_47


kettle支持arm架构的 kettle开发_kettle支持arm架构的_48


kettle支持arm架构的 kettle开发_kettle支持arm架构的_49

12.单表查询获取字段(求某个月累计电话时长)

kettle支持arm架构的 kettle开发_大数据_50


kettle支持arm架构的 kettle开发_字段_51


kettle支持arm架构的 kettle开发_etl_52

13.多表join连接并聚合统计

1.两表连接或三表连接:连接->Multiway Merge Join
2.字段公式统计生成新的字段:脚本->公式(if公式:   if([start_time1]>[start_time2];1;0)   )
3.选取部分字段:转换->字段选择(选取处理字段,并修改字段格式)
4.聚合函数统计:转换->排序,统计->分组(先按分组字段排序,再进行分组聚合)

kettle支持arm架构的 kettle开发_etl_53

kettle支持arm架构的 kettle开发_字段_54

kettle支持arm架构的 kettle开发_大数据_55


kettle支持arm架构的 kettle开发_数据_56


kettle支持arm架构的 kettle开发_kettle支持arm架构的_57


kettle支持arm架构的 kettle开发_字段_58


kettle支持arm架构的 kettle开发_字段_59


kettle支持arm架构的 kettle开发_字段_60


kettle支持arm架构的 kettle开发_大数据_61


kettle支持arm架构的 kettle开发_大数据_62


kettle支持arm架构的 kettle开发_字段_63