在DASK分布式documentation,它们具有以下信息:
例如DASK开发商利用这种能力来建立数据局部性,当我们沟通,像Hadoop的文件系统数据本地存储系统。当用户使用像dask.dataframe.read_csv高级功能(“HDFS:///path/to/files.*.csv”)DASK会谈到HDFS的名字节点,查找所有的数据块的位置,并将该信息发送给调度,以便它可以做出更明智的决策和提高加载时间。
然而,似乎get_block_locations()
从HDFS FS后端去除,所以我的问题是:什么是DASK关于到HDFS的现状如何?难道发送计算到的数据是本地节点?难道是优化调度要考虑到数据位置上HDFS?
完全正确,带箭头的HDFS接口,这是目前优于hdfs3的外观,块位置的考虑是访问HDFS工作量不再一部分,因为箭头的实现不包括get_block_locations()方法。
然而,我们已经想删除这使得这项工作有点费解的代码,因为我们发现,在测试HDFS部署节点间的带宽是完全足够了,它取得了大多数工作负载没有实际的区别。块上与你想的内存分区的大小尺寸有附加约束的创建复杂的附加层。
通过消除专用代码,我们能够避免当时正在为HDFS做出,而不是外部云存储(S3,GCS,蔚蓝),其中这并不重要,哪一个工作访问的数据的哪一部分非常特殊的情况。
简而言之,是的文档应该更新。