【问题标题】:How to replace old legacy hdfs connector with new fs.HadoopFileSystem?如何用新的 fs.HadoopFileSystem 替换旧的传统 hdfs 连接器?
【发布时间】:2020-10-12 15:43:33
【问题描述】:

当我尝试替换旧版 hdfs 连接器时

from pyarrow import hdfs
fs = hdfs.connect()

,与新的 fs 连接器配合得很好

from pyarrow import fs
client = fs.HadoopFileSystem(host="default")

我遇到了 python 内核崩溃。 我做错了什么?

【问题讨论】:

    标签: python-3.x hdfs pyarrow


    【解决方案1】:

    检查您的环境中是否设置了这三个参数。 在你的终端上检查这个

    echo $HADOOP_HOME
    echo $JAVA_HOME
    echo $ARROW_LIBHDFS_DIR
    

    如果没有,您可能需要在使用 pyarrow 之前设置您的环境。你可以在 python 上试试这个

    import os
    from pyarrow import fs
    os.environ['HADOOP_HOME'] = <path to hadoop binaries>
    os.environ['ARROW_LIBHDFS_DIR'] = '<path to libhdfs.so>'
    
    fs.HadoopFileSystem("hdfs://namenode:8020?user=hdfsuser")
    # fs.HadoopFileSystem("namenode") should work too
    

    看到这个 - How do i set the path of libhdfs.so for pyarrow?

    【讨论】:

      猜你喜欢
      • 2020-07-12
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 2021-04-20
      • 1970-01-01
      • 1970-01-01
      • 2015-08-29
      相关资源
      最近更新 更多