当前位置:编程学习 > 网站相关 >>

Hadoop处理多个数据库数据问题?

场景:我们在网络上面有多台MySql数据库,我们想要使用Hadoop处理数据库中的数据。
对于如何处理现在有两种意见:
1. 要把数据从Mysql中取出,然后导入到Hadoop的集群(集群和Mysql数据库服务器不在同一个地方)中,然后进行处理,将处理的结果存储到Mysql数据库或者是Hbase中。
2. 直接用Hadoop操作数据库。使用Hadoop的DBInputFormat读取数据库中的数据。具体的是这样的,就是将Mysql数据库所在的服务器,部署成Hadoop集群的一个节点。在Hadoop分配任务时,将任务分配到有相应数据的节点上,在通过API取数据,并执行数据分析的操作。
我现在是认为,第二种不太可行,但是我的大多数同学和老师都支持第二种,我就想问一下,这两种应该哪种更适合。还有就是第二种,我记得那个操作数据库的API,是在Job启动的时候就已经配置好了吧,每次只能使用一个数据库中的数据吧。
求解惑,谢谢了 Hadoop数据库 --------------------编程问答-------------------- 第二种。。没太明白,可能没用过你说的方式,不过第一种很明显我觉着很好实现,就是用sqoop 直接导出到hdfs上,然后自己写mapreduce处理完数据,再sqoop出到数据库就可以了。
补充:云计算 ,  云存储
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,