DASK是否与HDFS进行通信,以优化数据局部性?

问题描述 投票:1回答:1

在DASK分布式documentation,它们具有以下信息:

例如DASK开发商利用这种能力来建立数据局部性,当我们沟通,像Hadoop的文件系统数据本地存储系统。当用户使用像dask.dataframe.read_csv高级功能(“HDFS:///path/to/files.*.csv”)DASK会谈到HDFS的名字节点,查找所有的数据块的位置,并将该信息发送给调度,以便它可以做出更明智的决策和提高加载时间。

然而,似乎get_block_locations()从HDFS FS后端去除,所以我的问题是:什么是DASK关于到HDFS的现状如何?难道发送计算到的数据是本地节点?难道是优化调度要考虑到数据位置上HDFS?

hdfs dask dask-distributed
1个回答
2
投票

完全正确,带箭头的HDFS接口,这是目前优于hdfs3的外观,块位置的考虑是访问HDFS工作量不再一部分,因为箭头的实现不包括get_block_locations()方法。

然而,我们已经想删除这使得这项工作有点费解的代码,因为我们发现,在测试HDFS部署节点间的带宽是完全足够了,它取得了大多数工作负载没有实际的区别。块上与你想的内存分区的大小尺寸有附加约束的创建复杂的附加层。

通过消除专用代码,我们能够避免当时正在为HDFS做出,而不是外部云存储(S3,GCS,蔚蓝),其中这并不重要,哪一个工作访问的数据的哪一部分非常特殊的情况。

简而言之,是的文档应该更新。

© www.soinside.com 2019 - 2024. All rights reserved.