有没有办法通过hadoop集群进行分布式文件下载?

63lcw9qa  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(331)

我想为一个机器学习项目下载大量的数据文件。这些下载需要相当长的时间,我想加快他们。
我有一个hadoop集群,我想我可以利用它来获得更快的下载。有没有办法在集群上分发文件下载以提高速度?

baubqpgj

baubqpgj1#

如果你有一个文件列表和一个可用的sparkcontext,你可以这样做 sparkContext.parallelize(fileList).foreach(downloadMethod(_)) 它会自动将下载任务分发给执行者。

oipij1gg

oipij1gg2#

在编写map reduce作业之前,您可以将以下格式的文件详细信息添加到单独的元数据文件中,如下所示,
文件1-->http://myorg.com/test1.txt
文件2-->http://myorg.com/test2.txt
文件3-->http://myorg.com/test3.txt
您可以使用longwritable和文本作为上述文件的输入来启动mapreduce代码。在map()函数中,您可以将url以值的形式提供给map函数,并编写代码来命中这些url,然后使用常规java连接接口下载这些文件。
通过这种方式,下载多个文件的负载将分布在不同的Map器中。

相关问题