数据工程-数据库采集

by prentiss 2021-11-10

系统通过Sqoop实现结构化数据到大数据系统的数据导入,当前版本支持的数据源包括:MySQL。可按需对支持的数据源类型进行扩展。

步骤配置

通过界面点击【数据采集-数据库采集】,添加数据库采集步骤至列表,并在列表中选择步骤进行编辑

过程编写

第一步:点击采集数据源配置
信息项内容备注
数据源*下拉框选择已配置的数据源如未配置数据源,可点击链接创建新数据源。
表*点击选择表
数据范围*全量/增量如选择增量,需选择可标识增量的字段。
导出的字段(列)点击+自定义勾选需要导出的字段(列),置空表示全部导出。
where填写筛选条件,也可在where条件编写中使用自定义的常量、时间变量。如使用自定义的常量变量和时间变量:edit_time>=str_to_date(‘date_1_day_ago’,’%Y%m%d’) and edit_time<str_to_date(‘yyyyMMdd’,’%Y%m%d’) and status != ‘is_delete’。where 语句描述:采集edit_time为过去一天, status 不为 1 的数据。
1
如何创建新数据源

以创建本系统提供的MySQL库的连接为例

信息项内容备注
名称为数据源的别名,用户自定义。
数据库类型系统当前版本支持的数据源类型:MySQL。
Driver下拉框选择系统默认配置好Driver,用户下拉框进行选择。
数据库名称数据库名称系统提供的个人MySQL数据库名称为:bdos_private<当前登录用户名>db;提供的机构MySQL数据库名称为:bdos_org<机构名>db。用户可使用系统提供的数据库,也可连接用户实际使用的数据库。
主机master.innodb-cluster.l4lb.thisdcos.directory示例仅为本系统MySQL的主机地址,如需连接其他数据库,用户可根据实际地址进行替换。
端口6446示例仅为本系统MySQL的端口,如需连接其他数据库,用户可根据实际地址进行替换。
用户名如使用本系统机构MySQL数据源,用户名由系统管理员提供;如使用本系统个人MySQL数据源,用户名为当前登陆用户名。
密码如使用本系统机构MySQL数据源,密码由系统管理员提供;如使用本系统个人MySQL数据源,密码同系统登陆设置的初始密码。

配置完成后,可点击保存,对第一步的配置项进行保存。

第二步:采集目标配置

HDFS

信息项内容备注
数据分区字段day:-1;yyyy-MM-dd HH:mm:ss示例为从1天前的数据开始进行分区,如从1小时之后的数据进行分区,格式为:hour:1;yyyy-MM-dd HH:mm:ss
数据分区存储路径格式数据分区后存储的默认路径格式,如:year=yyyy/month=MM/day=dd/hour=HH/minute=mm/second=ss 可以代表2021年08月10日01点01分01秒的数据分区将存储在路径 year=2021/month=08/day=10/hour=01/minute=01/second=01 的路径下
HDFS存储路径*可在HDFS指定目录下,可自定义文件名称
2

Hive

系统支持HDFS/Hive两种数据存储方式,存储到Hive比HDFS多了一层支持关系型库表查询的计算方式。如果需要对数据进行快速方便的SQL计算,选择以Hive方式进行存储。

信息项内容备注
数据分区字段day:-1;yyyy-MM-dd HH:mm:ss系统示例为从1天前的数据开始进行分区,如从1小时之后的数据进行分区,格式为:hour:1;yyyy-MM-dd HH:mm:ss
数据分区存储路径格式数据分区后存储的默认路径格式,如:year=yyyy/month=MM/day=dd/hour=HH/minute=mm/second=ss 可以代表2021年08月10日01点01分01秒的数据分区将存储在路径 year=2021/month=08/day=10/hour=01/minute=01/second=01 的路径下
Hive数据库名称*系统提供给不同机构/用户的目标Hive库
Hive表名称*根据第一步中选择的数据源表默认生成的目标Hive表名,可修改。
HDFS存储路径*HDFS存储文件名与Hive表名称一致,不可修改

配置完成后,可点击保存,对第二步的配置项进行保存。

自定义配置

如需进行自定义配置,可点击自定义配置(可选)进行配置项填写。

信息项内容备注
归档历史数据在处理数据场景如: 数据类型从long型变更为 string,导致步骤运行报错或其他原因需要清理历史数据时,可对该选项进行勾选。归档历史数据会对历史数据进行清理归档处理,需谨慎操作!
变量名称用户自定义非时间变量供第一步:采集数据源配置的where条件使用,例如:定义常量变量:变量名称:is_delete, 变量值:1。
时间变量用户自定义时间变量名称,并通过下拉框和输入框指定变量值,供where条件使用。

where:编写筛选条件,也可在where条件编写中,使用自定义的变量名称。如使用自定义的常量变量和时间变量:

edit_time>=str_to_date('{{date_1_day_ago}}','%Y%m%d') and edit_time<str_to_date('{{yyyy}}{{MM}}{{dd}}','%Y%m%d') and status != '{{is_delete}}'

where 语句描述:采集edit_time为过去一天, status 不为 1 的数据

配置完毕后点击保存

点击试运行,可对该步骤运行一次,并查看运行日志

上下游数据

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

运行记录

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

留言

评论

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

暂时还没有一条评论.