我们正在尝试dask_yarn版本0.3.0(使用dask 0.18.2)
由于conflicts between the boost-cpp我使用的是pyarrow
版本0.10.0
我们正在尝试从hdfs中读取一个csv文件-但是,在运行dd.read_csv('hdfs:///path/to/file.csv')
时会出现错误,因为它试图使用hdfs3。
ImportError:找不到共享库:libhdfs3.so
From the documentation 似乎有使用pyarrow的选项。
这样做的正确语法/配置是什么?
答案 0 :(得分:0)
尝试使用locate -l 1 libhdfs.so
查找文件。就我而言,该文件位于/opt/mapr/hadoop/hadoop-0.20.2/c++/Linux-amd64-64/lib
下。
然后,在环境变量ARROW_LIBHDFS_DIR
设置为此路径的情况下,重新启动Jupyter服务器。就我而言,我的命令如下所示:
ARROW_LIBHDFS_DIR=/opt/mapr/hadoop/hadoop-0.20.2/c++/Linux-amd64-64/lib jupyter lab --port 2250 --no-browser
接下来,当您创建纱线群集时,将此变量作为辅助参数传递:
# Create a cluster where each worker has two cores and eight GiB of memory
cluster = YarnCluster(
worker_env={
# See https://github.com/dask/dask-yarn/pull/30#issuecomment-434001858
'ARROW_LIBHDFS_DIR': '/opt/mapr/hadoop/hadoop-0.20.2/c++/Linux-amd64-64/lib',
},
)
这为我解决了问题。
(受https://gist.github.com/priancho/357022fbe63fae8b097a563e43dd885b启发)