Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何配置future以下载更多文件?_R_Parallel Processing_Download_Furrr - Fatal编程技术网

如何配置future以下载更多文件?

如何配置future以下载更多文件?,r,parallel-processing,download,furrr,R,Parallel Processing,Download,Furrr,我有很多文件需要下载 我正在使用download.file()函数和furr::map与plan(strategy=“multicore”)并行下载 请告知我如何为每个未来加载更多作业 在Ubuntu 18.04上运行,有8个内核。 R版本3.5.3 文件可以是txt、zip或任何其他格式。 大小在5MB到40MB的范围内变化。使用Furr效果很好。我想你的意思是未来地图。使用multi-core可显著提高下载速度(注意:在Windows上,multi-core不可用,只有multi-sessi

我有很多文件需要下载

我正在使用
download.file()
函数和
furr::map
plan(strategy=“multicore”)
并行下载

请告知我如何为每个未来加载更多作业

在Ubuntu 18.04上运行,有8个内核。 R版本3.5.3

文件可以是txt、zip或任何其他格式。
大小在5MB到40MB的范围内变化。

使用Furr效果很好。我想你的意思是未来地图。使用
multi-core
可显著提高下载速度(注意:在Windows上,
multi-core
不可用,只有
multi-session
。如果不确定代码将在哪个平台上运行,请使用
multi-process

库(furr)
#>加载所需包:未来
csv_文件uq max neval
#>   940.1877  941.5968     3
#>   516.3279  595.4069     3
#>  1931.5873 1950.4803     3
由(v0.2.1)于2019-03-25创建

请记住,我正在使用Ubuntu,所以使用Windows可能会改变一些事情,因为据我所知,未来不允许在Windows上使用多核

我只是在这里猜测,
multisession
之所以较慢,可能是因为它必须在运行
download.file
功能之前打开几个R会话。我刚刚下载了一个非常小的数据集(
iris.csv
),所以在需要更多时间的较大数据集上,打开R会话所需的时间可能会被下载较大文件所需的时间所抵消

次要更新

您可以将指向数据集的URL向量传递到
future\u map
中,以便它下载由未来包处理确定的每个文件:


data\u url如何让每个工作人员一次下载5个文件?我有8个内核,每次下载8个文件。我想每次下载40个@like-w-johnston@SteveS我不太明白。你能在你的问题中添加一些代码来展示你到目前为止所做的工作吗?我在这里输入的代码大部分应该是您需要的格式,但我不知道确切情况,除非您提供@luke-w-johnston,我的意思是调整未来的选项,使其能够在发送给工人的每个作业中下载更多文件。实际上它和你的代码是一样的。不确定现在并行处理是否有效,至少在futures包中是这样。为什么不做类似于
未来地图(矢量URL,下载文件功能)
。这将在运行时处理确切数量的作业。您无法真正控制如何在并行处理功能中下载
n
作业数量。请参阅文档了解更多信息,多进程基本上是Windows上的多会话和Unix上的多核。因此,在比较中包含多进程是多余的。