apachesqoop对apachehadoop真的有必要吗?在hadoop中有没有其他方法可以使用数据库输入进行处理?

3b6akqbq  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(324)

众所周知,hadoop使用mapreduce概念。但从逻辑上讲,将数据库拆分为数据块是不可能的。为此,我们有apachesqoop,它将数据库表的内容导入hdfs。
我的问题是-将sqoop与hadoop结合使用真的有那么大的好处吗?如果是的话,有人能用一个实时的例子来解释一下hadoop在数据库上与mapreduce一起工作的地方吗?
如果我知道mapreduce是如何在数据库相关处理中实现的,那就太好了。
提前谢谢。

bq9c1y66

bq9c1y661#

sqoop文档中的每一章都提供了关于如何使用它的多个示例,例如:sqoop导入示例调用
一般来说,sqoop是使用mapreduce和sql数据库在hdf之间导入/导出数据的最简单方法。
本演示非常好地介绍了sqoop的用法和内部结构。

nhn9ugyo

nhn9ugyo2#

sqoop简化了hadoop和mysql之间的数据导入和导出。但是,如果我们看看它支持多个map任务的并行性,我会说它比每个数据库支持的传统导入要耗费更多的时间(前mysqldump)。
因为如果我们将Map的数量配置为10x10,sqoop将分两个阶段完成这项工作。
对表应用查询以找出--split by列的最小值和最大值(主键(如果没有配置)
一旦计算了最小值和最大值(取决于Map的数量),它将查询拆分为与每个Map任务对应的特定小范围,然后再次转到数据库以获取数据并将其填充到hdfs中。
所以我想说它消耗x+y的时间量,其中x是传统查询或作为sqoop第一阶段的结果运行的查询所花费的时间量。
总结:sqoop可以非常简单地用于hadoop和rdbms之间的数据导入和导出。但这对在更短的时间内完成任务是没有帮助的。

3qpi33ja

3qpi33ja3#

bigsql结合了postgresql和hadoop。mongodb mapreduce是对“数据库”的纯mapreduce实现。
这就是你要问的吗?
否则,sqoop非常棒,并且被广泛采用。例如:制造业、医疗保健。

相关问题