大数据NiFi(二十):实时同步MySQL数据到Hive

文章目录

实时同步MySQL数据到Hive

一、开启MySQL的binlog日志

1、登录mysql查看MySQL是否开启binlog日志

2 、开启mysql binlog日志

3、重启mysql 服务,重新查看binlog日志情况

二、配置“CaptureChangeMySQL”处理器

1、创建“CaptureChangeMySQL”处理器

2、配置“DistributeMapCacheServer”控制服务

3、配置“SCHEDULING”

4、配置“PROPERTIES”

5、启动MySQL,创建表“test2”测试“CaptureChangeMySQL”处理器

三、​​​​​​​​​​​​​​配置“RouteOnAttribute”处理器

1、创建“RouteOnAttribute”处理器

2、配置“PROPERTIES”自定义属性

3、连接“CaptureChangeMySQL”处理器与“RouteOnAttribute”处理器

四、配置“EvaluatejsonPath”处理器

1、配置“EvaluatejsonPath”的“PROPERTIES”属性

2、连接“RouteOnAttribute”处理器和“EvaluatejsonPath”处理器

五、​​​​​​​​​​​​​​配置“ReplaceText”处理器

1、配置“RelaceText”处理器“PROPERTIES”属性

2、连接“EvaluatejsonPath”处理器与“ReplaceText”处理器

六、​​​​​​​​​​​​​​配置Hive 支持HiveServer2

1、在Hive服务端配置hive-site.xml

2、在每台Hadoop 节点配置core-site.xml

3、重启HDFS ,Hive ,在Hive服务端启动Metastore和HiveServer2服务

4、在客户端通过beeline连接Hive

七、配置“PutHiveQL”处理器

1、创建“PutHiveQL”处理器

2、 配置“PROPERTIES”

3、连接“ReplaceText”处理器与“PutHiveQL”处理器并设置关系

八、​​​​​​​​​​​​​​运行测试

1、在Hive中创建表“test2”

2、启动NiFi处理数据流程,向MySQL中写入数据,查看Hive中表数据


实时同步MySQL数据到Hive

案例:将mysql中新增的数据实时同步到Hive中。

以上案例需要用到的处理器有:“CaptureChangeMySQL”、“RouteOnAttribute”、“EvaluateJsonPath”、“ReplaceText”、“PutHiveQL”。

首先通过“CaptureChangeMySQL”读取MySQL中数据的变化(需要开启MySQL binlog日志),将Binlog中变化的数据同步到“RouteOnAttribute”处理器,通过此处理器获取上游数据属性,获取对应binlog操作类型,再将想要处理的数据路由到“EvaluateJsonPath”处理器,该处理器可以将json格式的binlog数据解析,通过自定义json 表达式获取json数据中的属性放入FlowFile属性,将FlowFile通过“ReplaceText”处理器获取上游FowFile属性,动态拼接sql替换所有的FlowFile内容,将拼接好的sql组成FlowFile路由到“PutHiveQL”将数据写入到Hive表。

  • 71
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 63
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Lansonli

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值