数据工程-ETL程序

by prentiss 2021-05-05

系统通过统一界面的【数转换-ETL程序】步骤,实现界面化爬虫采集。通过界面点击,添加ETL程序步骤至列表,并在列表中选择步骤进行编辑。

数据转换ETL程序当前版本支持的输入数据源包括:Hive/MySQL/ClickHoue/HDFS/Mongo/Oracle/触发器

输出数据源包括:MySQL/Hive/ElasticSearch/ClickHouse/Oracle/MPP(PgSql)

1.流程操作

1.1数入源配置

下面以输入源Hive,输出源MySQL为例:

1

点击数据库Hive类型右侧的编辑图标进入

信息项内容备注
数据源*下拉框选择Hive类型
数据库*下拉框选择Hive数据库
表*下拉框选择Hive数据表
Query系统默认生成,用户可修改例如:select id, item, time, title, urls, clicks, create_timestamp, update_timestamp from hive_table
自定义配置此处用户自定义,可参考示例:{ “setting”:{ “errorLimit”:{ “record”: 10, “percentage”: 0.05 }, “speed”:{ “channel”:”1″, “byte”: 104857600 } }, “parameter”: { //dataX reader/writer config parameters } }
2
1.2 输出源配置

如输出数据表不存在,可以先创建数据表。用户点击创建表进入弹窗,填写配置

信息项内容备注
数据源*下拉框选择MySQL数据库
表*下拉框选择MySQL数据表
字段*系统默认读取,用户可修改例如:select id, item, time, title, urls, clicks, create_timestamp, update_timestamp from hive_table
建表语句点击获取建表语句系统默认生成建表语句
2

创建表后,点击输出数据MySQL右侧的编辑框,添加输出源MySQL的配置信息

信息项内容备注
数据源*下拉框选择MySQL数据库
表*下拉框选择MySQL数据表
同步字段名(多选)系统默认读取,用户可修改例如:select id, item, time, title, urls, clicks, create_timestamp, update_timestamp from hive_table
数据变更*下拉框选择支持Insert、Replace、Update etl目标表有主键的情况下,需要选择replace或者update的模式。 insert:将数据源表的数据直接写的到目的表,主要用于全量的导入。实现原理是直接采用insert into update只在匹配到已有记录时更新,不做新数据插入,replace匹配到已有数据并更新,没有匹配到已有数据就插入 在 where 条件是唯一索引或者主键,且唯一索引所在的字段不允许空值时,二者没有区别
Batch Size*默认1024根据实际需要填写
SessionDataX在获取MySQL连接时,执行Session指定的SQL语句。用户可修改当前Connection Session的默认属性,如:set session sql_mode=’ANSI’ (以保证大多数SQL符合标准的SQL语法)
写入前SQL预处理根据实际需要填写
写入后SQL预处理根据实际需要填写
自定义配置根据实际需要填写
4

输入字段管理

用户可通过界面对输入字段进行勾选

1.3 字段转换映射

用户可根据筛选参照表匹配方式,进行匹配映射

5

选择参照表和匹配方式后,点击开始匹配

1.4 数据查看

点击下一步,进入数据查看步骤,点击查看按钮。

6

2. 变量管理

2.1 系统变量

系统提供year,month,hour,day,minute,second,datetime及timestamps等变量,用户根据需要设置参数。系统时间变量是提供当前调度时间对应某个固定格式的变量,比如year就是调度时间的年份、datetime就是yyyyMMddHHmmss的固定格式。主要作用在于,如果被调度的程序,需要获取调度时间,则可以通过上述变量进行传递。

7
2.2 用户自定义变量

用户根据需要,自行【添加】变量并设置参数值。 时间变量的区别是,用户可以以调度时间为基准进行时间自定义,比如前一天,上个月同一天等,同时时间格式也是可以自定义的。

信息项内容备注
常量变量例如:定义常量变量:变量名称:is_delete, 变量值:1。
时间变量用户自定义时间变量名称,并通过下拉框和输入框指定变量值
8

3. 上下游数据

用户成功执行该步骤后,可通过上下游数据界面查看上下游数据信息。时间同步有时耗,需等待片刻进行查看。

4. 运行记录

用户可通过界面,查看步骤的历史运行记录日志详情。

留言

评论

${{item['author_name']}} 回复 ${{idToContentMap[item.parent] !== undefined ? idToContentMap[item.parent]['author_name'] : ''}} · ${{item.date.slice(0, 10)}} 回复

暂时还没有一条评论.