PyArrow 0.16.0 fs.HadoopFileSystem выдает сбой подключения HDFS - PullRequest
0 голосов
/ 31 марта 2020

В настоящее время я выполняю миграцию старого интерфейса файловой системы Arrow:

http://arrow.apache.org/docs/python/filesystems_deprecated.html

на новый интерфейс файловой системы:

http://arrow.apache.org/docs/python/filesystems.html

Я пытаюсь подключиться к HDFS с помощью fs.HadoopFileSystem, как показано ниже

from pyarrow import fs
import os
os.environ['HADOOP_HOME'] = '/usr/hdp/current/hadoop-client'
os.environ['JAVA_HOME'] = '/opt/jdk8'
os.environ['ARROW_LIBHDFS_DIR'] = '/usr/lib/ams-hbase/lib/hadoop-native'

fs.HadoopFileSystem("hdfs://namenode:8020?user=hdfsuser")

Я пробовал другую комбинацию uri, а также заменил uri на fs.HdfsOptions:

connection_tuple = ("namenode", 8020)
fs.HadoopFileSystem(fs.HdfsOptions(connection_tuple, user="hdfsuser"))

Все вышеперечисленное вызывает у меня ту же ошибку:

Environment variable CLASSPATH not set!
getJNIEnv: getGlobalJNIEnv failed
Environment variable CLASSPATH not set!
getJNIEnv: getGlobalJNIEnv failed
/arrow/cpp/src/arrow/filesystem/hdfs.cc:56: Failed to disconnect hdfs client: IOError: HDFS hdfsFS::Disconnect failed, errno: 255 (Unknown error 255) Please check that you are connecting to the correct HDFS RPC port
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "pyarrow/_hdfs.pyx", line 180, in pyarrow._hdfs.HadoopFileSystem.__init__
  File "pyarrow/error.pxi", line 122, in pyarrow.lib.pyarrow_internal_check_status
  File "pyarrow/error.pxi", line 99, in pyarrow.lib.check_status
OSError: HDFS connection failed

Там не так много документации, так как эта функция довольно новая, поэтому, надеюсь, я смогу получить ответ здесь

Ура

...