如何优化HDFS数据访问本地性,减少网络传输开销
如何确保HDFS数据访问优先利用本地副本,最大程度减少网络传输?
环境与现状
- 3台机器部署HDFS集群(machine A、B、C),副本数设置为3;machine A为NameNode,三台均作为DataNode
- 目前使用以下代码读取Parquet数据,无论在machine A/B/C哪台机器运行,都会产生100+MB/s的上下行网络流量:
# 在machine A、B、C上分别运行 import fsspec import pandas as pd with fsspec.open('hdfs://machine_A_ip:9000/path/to/data.parquet', 'rb') as fp: df = pd.read_parquet(fp)
- 曾在同一机器组部署Dask和Ray集群,确认Dask不支持HDFS数据本地性优化
- 查阅过fsspec、pyarrow的官方文档及Apache Arrow的Issue列表,未找到相关解决方案线索
内容的提问来源于stack exchange,提问作者David Lee
相关产品推荐
相关产品推荐

