0

我们正在尝试 dask_yarn 0.3.0 版(使用 dask 0.18.2),因为我正在使用0.10.0 版运行的 boost-cpp 之间存在冲突 我们正在尝试从 hdfs 读取 csv 文件 - 但是我们得到一个错误运行时,因为它正在尝试使用 hdfs3。 pyarrow
dd.read_csv('hdfs:///path/to/file.csv')

ImportError:找不到共享库:libhdfs3.so

从文档 看来,可以选择使用 pyarrow 。

这样做的正确语法/配置是什么?

4

1 回答 1

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

接下来,当您创建 Yarn Cluster 时,将此变量作为 worker 参数传递:

# 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

于 2020-07-06T04:00:55.790 回答