【问题标题】:How fast SQOOP can transfer from RDBMS to Hadoop?SQOOP 从 RDBMS 传输到 Hadoop 的速度有多快?
【发布时间】:2016-10-17 14:50:32
【问题描述】:

谁能告诉我,SQOOP 一次传输 20 亿条记录的速度有多快。而且我知道它必须很快,因为 sqoop 并行运行,其中一些输入将在 Hadoop 上产生一些文件输出。但我想知道一次MapReduce传输20亿条记录的速度详情。

【问题讨论】:

  • 这取决于为该作业分配的映射器数量。因此,例如,如果独立(单个)进程需要 4 分钟来传输数据,那么带有 4 个映射器的 Sqoop 将需要不到 1 分钟。

标签: hadoop sqoop


【解决方案1】:

您需要了解将数据从 RDBMS 更快地传输到 Hadoop 的要点。

  • 映射器数量:

    增加映射器的数量会提高您的速度,因为它会将任务分成几部分并并行执行导入。

  • Mappers 上的平衡负载:

    您需要在统一的列上进行拆分(首选整数)。它将为所有映射器提供均衡的负载,并且传输速度更快。

  • 来自 RDBMS 的连接数:

    您不能只是盲目地增加映射器的数量(比如 100 个或更多)。您的 RDBMS 应该允许这些并发连接,否则它将成为 RDBMS 方面的瓶颈。

  • 使用--Direct模式:

    如果 sqoop 为特定的 RDBMS 提供了直接连接器,则应该使用它。这将使传输更快。


简而言之,sqoop 的速度足以传输数十亿条记录,只需在编写导入命令时牢记这些点即可。

【讨论】:

  • 你没有指出网络和 RDMS 本身是限制因素,我们(这是一个真实的例子)有一个远程集群,它只有有限的带宽,因此它限制了最大值传输速度,您指出的任何内容都无济于事。 RDMS 也很重要,是单节点系统还是分布式系统,负载有多大?
  • @MaxNevermind 我同意你的看法。您可以在另一个答案中提及其他要点..:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-08-29
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
  • 2016-12-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多