- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Kafka实战:七步将RDBMS中的数据实时传输到Hadoop.PDF
Kafka实战:七步将RDBMS中的数据实时传输到Hadoop
Spark大数据博客 -
Kafka实战:七步将RDBMS中的数据实时传输到Hadoop
对那些想快速把数据传输到其Hadoop集群的企业来说,Kafka是一个非常合适的选择。关于
什么是Kafka我就不介绍了,大家可以参见我之前的博客: 《Apache
kafka入门篇:工作原理简介》
本文是面向技术人员编写的。阅读本文你将了解到我是如何通过Kafka把关系数据库管理系
统(RDBMS)中的数据实时写入到Hive中,这将使得实时分析的用列得以实现。作为参考,本文使
用的组件版本分别是Hive 1.2.1、 Flume 1.6 以及 Kafka 0.9。
总体解决架构
下图展示RDBMS中的事务数据如何结合Kafka、Flume以及Hive的事务特性写入到Hive表的总体解
决方案。
如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号:iteblog_hadoo
p
7步把RDBMS的数据实时写入Hadoop
现在我们来深入这个解决方案的细节,我将展示你如何可以通过仅仅几步就把数据实时导入到Ha
doop中。
1、从RDBMS中抽取数据
1 / 5
Kafka实战:七步将RDBMS中的数据实时传输到Hadoop
Spark大数据博客 -
所有的关系型数据库都有一个日志文件用于记录最新的事务信息。我们流解决方案的第一步
就是获取这些事务数据,并使得Hadoop可以解析这些事务格式。(关于如何解析这些事务日志
,原作者并没有介绍,可能涉及到商业信息。)
2、启动Kafka Producer
将消息发送到Kafka主题的进程成为生产者。Topic将Kafka中同类消息写入到一起。RDBMS
中的事务消息将被转换到Kafka的Topic中。对于我们的例子来说,我们有一个销售团队的数据库
,其中的事务信息都会被发布到Kafka的Topic中,下面步骤是启动Kafka producer的必要步骤:
$ cd /usr/hdp/-169/kafka
$ bin/kafka-topics.sh --create --zookeeper :2181 --replication-
factor 1 --partitions 1 --topic SalesDBTransactions
Created topic SalesDBTransactions.
$ bin/kafka-topics.sh --list --zookeeper :2181
SalesDBTransactions
3、设置Hive
我们在Hive中创建一个表用于接收销售团队数据库的事务信息。这例子中我们将重建一个名为cus
tomers的表:
[iteblog@sandbox ~]$ beeline -u jdbc:hive2:// -n hive -p hive
0: jdbc:hive2:// use raj;
create table customers (id string, name string, email string, street_address string, company stri
ng)
partitioned by (time string)
clustered by (id) into 5 buckets stored as orc
location /user/iteblog/salescust
TBLPROPERTIES (transactional=true);
为了在Hive中启用事务,我们需要在Hive中进行如下的配置:
hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.DbTxnManager
4、启动会一个Flume Agent用于将Kafka的数据写入到Hive
2 / 5
Kafka实战:七步将RDBMS中的数据实时传输到Hadoop
文档评论(0)