gpt4 book ai didi

apache - Apache Sqoop 真的是 Apache Hadoop 所必需的吗?有没有其他方法可以使用数据库输入在 hadoop 中进行处理?

转载 作者:可可西里 更新时间:2023-11-01 15:06:26 25 4
gpt4 key购买 nike

众所周知,hadoop 使用 MapReduce 概念。但是将数据库拆分为数据 block 在逻辑上是不可能的。为此,我们使用 Apache sqoop 将数据库表的内容导入 HDFS。

我的问题是 - 将 sqoop 与 Hadoop 结合使用真的有那么大优势吗?如果是,谁能用一个实时示例向我解释,在这个示例中,hadoop 已被实现以与数据库上的 MapReduce 一起工作?

如果我知道 MapReduce 在数据库相关处理中是如何实现的,那就太好了。

提前致谢。

最佳答案

Sqoop 在 Hadoop 和 MySQL 之间导入和导出数据方面带来了很多简化。但是如果我们看一下它支持多个映射任务的并行性,我会说它比每个数据库支持的传统导入消耗更多的时间。 (例如 - mysqldump)。

因为如果我们通过 -m 10 配置 map 数量为 10,Sqoop 会分两个阶段完成工作。

  1. 对表应用查询以找出 --split-by 列的最小值和最大值。 (主键,如果没有配置)

  2. 一旦计算出 MIN 和 MAX 值,根据 map 的数量,它将查询拆分为与每个 map task 相对应的特定小范围,然后再次转到数据库以获取数据并将其填充到 HDFS 中.

所以我会说它消耗了 X+Y 的时间量,其中 x 是传统查询或作为 sqoop 第一阶段的结果运行的查询所花费的时间量。

总结:Sqoop 可以用来以非常简单的方式在 hadoop 和 rdbms 之间导入和导出数据。但它永远不会有助于在更短的时间内实现/完成任务。

关于apache - Apache Sqoop 真的是 Apache Hadoop 所必需的吗?有没有其他方法可以使用数据库输入在 hadoop 中进行处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22068153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com