有人能告诉我,SQOOP可以一次传输20亿条记录的速度有多快。而且我知道它必须快速,因为sqoop并行运行,其中一些输入也将在Hadoop上生成一些文件输出。但是我想知道MapReduce速度转移量的细节一次性有20亿条记录。
答案 0 :(得分:1)
您需要了解负责将数据从RDBMS更快地传输到Hadoop的要点。
Mappers数量:
增加映射器的数量会提高你的速度,因为它会将任务分成几部分并同时执行导入。
Mappers上的均衡负载:
您需要拆分统一(首选整数)的列。它将为所有映射器提供平衡负载,并且传输速度更快。
来自RDBMS的连接数:
你不能盲目地增加映射器的数量(如100或更多)。您的RDBMS应该允许这些并发连接,否则它将成为RDBMS方面的瓶颈。
使用--Direct
模式:
如果sqoop为特定RDBMS提供直接连接器,则应使用它。这将使转移更快。
简而言之,sqoop足以传输数十亿条记录,只需在编写导入命令时记住这些要点。