如何使用StreamSets从MySQL增量更新数据到Hive
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用StreamSets从MySQL增量更新数据到Hive相关的知识,希望对你有一定的参考价值。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
Fayson的github:https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
在前面Fayson介绍了《如何在CDH中安装和使用StreamSets》,通过StreamSets实现数据采集,在实际生产中需要实时捕获mysql、Oracle等其他数据源的变化数据(简称CDC)将变化数据实时的写入大数据平台的Hive、HDFS、HBase、Solr、Elasticserach等。本篇文章主要介绍如何使用使用StreamSets通过JDBC的方式实时抽取增量数据到Hive。
StreamSets实现的流程如下:
- 内容概述
1.环境准备
2.创建StreamSets的Pipeline流程
3.Pipeline流程测试
- 测试环境
1.StreamSets版本为3.1.2.0
2.CM和CDH版本为5.13.1
3.MariaDB版本为5.5.44
2.环境准备
1.准备测试表和数据
[root@cdh4 ~]# mysql -uroot -p
Enter password:
MariaDB [(none)]> use test;
MariaDB [test]> create table test_to_hive (s1 varchar(20),s2 varchar(20));
MariaDB [test]> insert into test_to_hive values ("1","aaa");
MariaDB [test]> insert into test_to_hive values ("2","bbb");
MariaDB [test]> select * from test_to_hive;
(可左右滑动)
3.创建StreamSets的Pipline
1.创建新的管道流
配置错误日志输入路径,这里配置到本地的/tmp/sdctest(需要自己创建)目录下
2.添加JDBC查询者
3.执行预览检查
查看结果如下
4.添加Hive Metadata
将JDBC 链接到 Hive Metadata 配置hive 的JDBC URL
配置数据库和要生成的表名,这里我们没有分区,删掉分区
选择Avro 格式
5.将Hive Metadata 输出到 HiveMetastore
将Hive Metadata的 Metadata 链接到Hive Metastore
修改配置
6.将Hive Metadata的data 输出到HDFS 上
将Hive Metadata的 data链接到Hadoop FS 1
7.统一选择包版本
这里测试环境是CDH 5.13
HiveMetadata
Hadoop FS
Hive Metastore
8.校验并执行
点击校验,返回成功后点击执行
执行后可以看到有2条数据输入和输出,这与我们测试数据库的数据相符合
去HUE 页面查看hive 表中的数据,发现已经更新进来
4.Pipeline流程测试
1.去mysql 中增加数据并查看
查看管道流信息发现输入输出数量变成了4
去HUE 中查看hive 表的数据,跟mysql 中同步,说明增量更新成功
5.常见问题
1.校验的时候找不到 hive.conf.HiveConf
出现如下异常,说明包不对,参考 2.8步骤重置配置
2.JDBC 链接不通
新建文件夹/opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR-3.0.0.0/sdc-extras,
并赋予给用户sdc
mkdir /opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR-3.0.0.0/sdc-extras
chown sdc:sdc /opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR-3.0.0.0/sdc-extras
(可左右滑动)
上传JDBC驱动
上传成功后如下:
在CM中配置StreamSets包的路径
export STREAMSETS_LIBRARIES_EXTRA_DIR="/opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR/sdc-extras/"
(可左右滑动)
如果存在权限问题还需要配置安全策略给该目录授权:
grant codebase "file:///opt/cloudera/parcels/STREAMSETS_DATACOLLECTOR/sdc-extras/-"
permission java.security.AllPermission;
;
(可左右滑动)
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操
以上是关于如何使用StreamSets从MySQL增量更新数据到Hive的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 从分配自动增量 ID 的表插入并更新第三个表中的 FK