申请专栏作者
您的当前位置:主页 > 数据挖掘 > 正文

Kafka 在行动:7步实现从RDBMS到Hadoop的实时流传输

来源: 时间:2018-10-10
请点击下面的广告后浏览!
36大数据

 

可思数据-数据挖掘,智慧医疗,机器视觉,机器人

对于寻找方法快速吸收数据到Hadoop数据池的企业, Kafka是一个伟大的选择。Kafka是什么? 它是一个分布式,可扩展的可靠消息系统,把采取发布-订阅模型的应用程序/数据流融为一体。 这是Hadoop的技术堆栈中的关键部分,支持实时数据分析或物联网数据货币化。 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

本文目标读者是技术人员。 继续读,我会图解Kafka如何从关系数据库管理系统(RDBMS)里流输数据到Hive, 这可以提供一个实时分析使用案例。 为了参考方便,本文使用的组件版本是Hive 1.2.1,Flume 1.6和Kafka 0.9。 本文来自可思数据,转载请联系本站及注明出处

如果你想看一下Kafka是什么和其用途的概述, 看看我 在Datafloq 上发布的一篇早期博客。 可思数据-AI,智能驾驶,人脸识别,区块链,大数据

Kafka用武之地:整体解决方案架构

可思数据-人工智能资讯平台

下图显示了在整体解决方案架构中,RDBMS的业务数据传递到目标 Hive 表格结合了 Kafka , Flume和Hive交易功能。 可思数据-www.sykv.cn,sykv.com

 

可思数据-人工智能资讯平台

36大数据

 

可思数据

7步实时流传输到Hadoop

内容来自可思数据

现在深入到解决方案的详细信息,我会告诉你如何简单几步实时流输数据到Hadoop。

可思数据-AI,智能驾驶,人脸识别,区块链,大数据

1. 从关系数据库管理系统(RDBMS)提取数据 内容来自可思数据

所有关系数据库都有一个记录最近交易的日志文件。 我们的传输流解决方案的第一步是,在能够传到Hadoop的信息格式中获得这些交易。 讲完提取机制得单独占用一篇博文–所以 如果你想了解更多此过程的信息, 请联系我们。

可思数据-人工智能资讯平台

2. 建立Kafka Producer

可思数据-AI,智能驾驶,人脸识别,区块链,大数据

发布消息到Kafka主题的过程被称为“生产者”。“主题”是Kafka保存的分类消息。 RDBMS的交易将被转换为Kafka话题。 对于该例,让我们想一想销售团队的数据库,其中的交易是作为Kafka主题发表的。 建立Kafka生产者需要以下步骤:

可思数据-数据挖掘,智慧医疗,机器视觉,机器人

 

本文来自可思数据,转载请联系本站及注明出处

36大数据

 

可思数据-数据挖掘,智慧医疗,机器视觉,机器人

3. 设置 Hive

内容来自可思数据

接下来,我们将在Hive中创建一张表,准备接收销售团队的数据库事务。 在这个例子中,我们将创建一个客户表: 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  可思数据-AI,智能驾驶,人脸识别,区块链,大数据

36大数据

  可思数据-AI,智能驾驶,人脸识别,区块链,大数据

为了让Hive能够处理交易, 配置中需要以下设置: 本文来自可思数据,转载请联系本站及注明出处

hive.txn.manager = org.apache.hadoop.hive.ql.lockmgr.dbtxnmanager

可思数据-数据挖掘,智慧医疗,机器视觉,机器人

4.设置Flume Agent,从Kafka到Hive流传输 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

现在让我们来看看如何创建Flume代理,实现从Kafka主题中获取数据,发送到Hive表。

可思数据

遵循步骤来设置环境,然后建立Flume代理:

可思数据

 

可思数据-数据挖掘,智慧医疗,机器视觉,机器人

36大数据

 

内容来自可思数据

接着,如下创建一个log4j属性文件:

可思数据-人工智能资讯平台

 

内容来自可思数据

36大数据

 

内容来自可思数据

然后为Flume代理使用下面的配置文件: 内容来自可思数据

  本文来自可思数据,转载请联系本站及注明出处

36大数据

  可思数据-数据挖掘,智慧医疗,机器视觉,机器人

5.开启Flume代理

可思数据-AI,智能驾驶,人脸识别,区块链,大数据

使用如下命令开启Flume代理: 可思数据-AI,人工智能,深度学习,机器学习,神经网络

$ /usr/hdp/apache-flume-1.6.0/bin/flume-ng agent -n flumeagent1 -f ~/streamingdemo/flume/conf/flumetohive.conf

可思数据-AI,人工智能,深度学习,机器学习,神经网络

 

可思数据-数据挖掘,智慧医疗,机器视觉,机器人

36大数据

  可思数据-数据挖掘,智慧医疗,机器视觉,机器人

6.开启Kafka Stream

内容来自可思数据

如下示例,是一个模拟交易消息, 在实际系统中需要由源数据库生成。 例如,以下可能来自重复SQL交易的Oracle数据流,这些交易已提交到数据库, 也可能来自GoledenGate。 可思数据-数据挖掘,智慧医疗,机器视觉,机器人

  可思数据-人工智能资讯平台

36大数据

 

内容来自可思数据

  可思数据

36大数据

 

可思数据-AI,人工智能,深度学习,机器学习,神经网络

7.接收Hive数据 本文来自可思数据,转载请联系本站及注明出处

以上所有完成, 现在从Kafka发送数据, 你会看到,几秒之内,数据流就发送到Hive表了。

文 | Rajesh Nadipalli  本文来自可思数据,转载请联系本站及注明出处

网友评论:

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片

Copyright©2005-2019 Sykv.com 可思数据 版权所有    网站地图   联系我们  

人工智能资讯   人工智能资讯   人工智能资讯   人工智能资讯

扫码入群
咨询反馈
扫码关注

微信公众号

返回顶部