数据工程-ETL程序
系统通过统一界面的【数转换-ETL程序】步骤,实现界面化爬虫采集。通过界面点击,添加ETL程序步骤至列表,并在列表中选择步骤进行编辑。
数据转换ETL程序当前版本支持的输入数据源包括:Hive/MySQL/ClickHoue/HDFS/Mongo/Oracle/触发器
输出数据源包括:MySQL/Hive/ElasticSearch/ClickHouse/Oracle/MPP(PgSql)
1.流程操作
1.1数入源配置
下面以输入源Hive,输出源MySQL为例:
点击数据库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 } } |
1.2 输出源配置
如输出数据表不存在,可以先创建数据表。用户点击创建表进入弹窗,填写配置
信息项 | 内容 | 备注 |
---|---|---|
数据源* | 下拉框选择MySQL数据库 | |
表* | 下拉框选择MySQL数据表 | |
字段* | 系统默认读取,用户可修改 | 例如:select id , item , time , title , urls , clicks , create_timestamp , update_timestamp from hive_table |
建表语句 | 点击获取建表语句 | 系统默认生成建表语句 |
创建表后,点击输出数据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 | 根据实际需要填写 |
Session | DataX在获取MySQL连接时,执行Session指定的SQL语句。用户可修改当前Connection Session的默认属性,如:set session sql_mode=’ANSI’ (以保证大多数SQL符合标准的SQL语法) | |
写入前SQL预处理 | – | 根据实际需要填写 |
写入后SQL预处理 | – | 根据实际需要填写 |
自定义配置 | – | 根据实际需要填写 |
输入字段管理
用户可通过界面对输入字段进行勾选
1.3 字段转换映射
用户可根据筛选参照表匹配方式,进行匹配映射
选择参照表和匹配方式后,点击开始匹配
1.4 数据查看
点击下一步,进入数据查看步骤,点击查看按钮。
2. 变量管理
2.1 系统变量
系统提供year,month,hour,day,minute,second,datetime及timestamps等变量,用户根据需要设置参数。系统时间变量是提供当前调度时间对应某个固定格式的变量,比如year就是调度时间的年份、datetime就是yyyyMMddHHmmss的固定格式。主要作用在于,如果被调度的程序,需要获取调度时间,则可以通过上述变量进行传递。
2.2 用户自定义变量
用户根据需要,自行【添加】变量并设置参数值。 时间变量的区别是,用户可以以调度时间为基准进行时间自定义,比如前一天,上个月同一天等,同时时间格式也是可以自定义的。
信息项 | 内容 | 备注 |
---|---|---|
常量变量 | 例如:定义常量变量:变量名称:is_delete, 变量值:1。 | |
时间变量 | 用户自定义时间变量名称,并通过下拉框和输入框指定变量值 |
3. 上下游数据
用户成功执行该步骤后,可通过上下游数据界面查看上下游数据信息。时间同步有时耗,需等待片刻进行查看。
4. 运行记录
用户可通过界面,查看步骤的历史运行记录日志详情。
留言
评论
${{item['author_name']}} 回复 ${{idToContentMap[item.parent] !== undefined ? idToContentMap[item.parent]['author_name'] : ''}}说 · ${{item.date.slice(0, 10)}} 回复
暂时还没有一条评论.