温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何实现从RDBMS到Hadoop的实时流传输

发布时间:2021-12-10 11:34:16 来源:亿速云 阅读:117 作者:iii 栏目:大数据

这篇文章主要介绍“如何实现从RDBMS到Hadoop的实时流传输”,在日常操作中,相信很多人在如何实现从RDBMS到Hadoop的实时流传输问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何实现从RDBMS到Hadoop的实时流传输”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

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

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

如何实现从RDBMS到Hadoop的实时流传输

7步实时流传输到Hadoop

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

1. 从关系数据库管理系统(RDBMS)提取数据

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

2. 建立Kafka Producer

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

如何实现从RDBMS到Hadoop的实时流传输

3. 设置 Hive

接下来,我们将在Hive中创建一张表,准备接收销售团队的数据库事务。 在这个例子中,我们将创建一个客户表:

如何实现从RDBMS到Hadoop的实时流传输

为了让Hive能够处理交易, 配置中需要以下设置:

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

4.设置Flume Agent,从Kafka到Hive流传输

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

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

如何实现从RDBMS到Hadoop的实时流传输

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

如何实现从RDBMS到Hadoop的实时流传输

然后为Flume代理使用下面的配置文件:

如何实现从RDBMS到Hadoop的实时流传输

5.开启Flume代理

使用如下命令开启Flume代理:

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

如何实现从RDBMS到Hadoop的实时流传输

6.开启Kafka Stream

如下示例,是一个模拟交易消息, 在实际系统中需要由源数据库生成。 例如,以下可能来自重复SQL交易的Oracle数据流,这些交易已提交到数据库,  也可能来自GoledenGate。

如何实现从RDBMS到Hadoop的实时流传输

如何实现从RDBMS到Hadoop的实时流传输

7.接收Hive数据

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

到此,关于“如何实现从RDBMS到Hadoop的实时流传输”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI