Streamsets Mysql全量导同步到hive

三种方式根据需要弄哈;增量的,我觉得实际业务中,除非没有update操作才适合使用JDBC这种增量方式,不然都是扯犊子,毕竟hdfs对随机写不是很友好。这是全量的,慢的很。没有sqoop快。

1、JDBC Query Consumer (单表全量)

配置:

JDBC Query Consumer 配置:每天全量同步 不设置offset,SQL Query 写自己的sql 就行。

有时区问题的话,可以

 

Pipeline Finisher Executor配置:Preconditions ${record:eventType() == 'no-more-data'} ResetOrigin 勾上,全量同步需要重置源。这个组件的作用是,同步完成后关闭pipeline。

Expression Evaluator 配置:这个组件的作用是,添加value里面的字段或者Header 里面的字段。如果遇到源字段名称和hive表字段名称不一致,可以采用这个,或者添加新的字段,比如hive库的名称,后面可以用。

Field Type Converter 配置:这个是根据字段名更改字段的属性,或者根据属性更改属性。

 Hive Metadata 配置:入hive 表。配置三个地方,

 

 Data Format  设置之前,需要在hive里面创建相应存储方式的表。

 Hadoop FS 配置:写hdfs。

Hive Metastore配置:写元数据

后面的Expression Evaluator 和 Hive Query 是做localtion处理,保证数据能刷进hive。

 

2、 JDBC Multitable Consumer (单库多表全量)

 JDBC Multitable Consumer 配置:对于mysql,jdbc 连接代码写那个库,tables就只能配置那个库。

其他的配置都是差不多的。Hive Metadata配置有差异。

3、分区同步建议使用下面的 (单表分区)

 增量分区使用JDBC Query Consumer  用sql语句查出需要的增量,全量分区使用JDBC Multitable Consumer

配置文件很简单。这里不说,有需要的小伙伴可以留言交流。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值