来自外部源的高效并行Hadoop负载?

时间:2015-04-21 19:22:43

标签: bigdata hadoop2

让我们假设我有一个包含33000行的文本文件,其中每一行都是一个URL,指向一个可访问的1 GB .gz文件,可通过该文件下载HTTPS。让我们假设我有一个由Hadoop 2.6.0个节点组成的20集群。如何将所有文件加载到HDFS中的最快但又简单优雅的并行方法是什么?

到目前为止,我能够想到的最佳方法是一个bash脚本,它将通过SSH连接到运行一系列wget管道到{的所有其他节点{1}} HDFS个命令。但在这种情况下,我害怕并发。

1 个答案:

答案 0 :(得分:0)

您可以使用Java多线程执行程序服务。示例示例here

您可以使用URL读取文本文件。读取10行,然后使用java多线程开始并行下载它们。您可以将线程数定义为任意数字而不是10。

您可以使用多线程下载文件,然后使用java HDFA API将其置于HDFS中