Я пытался установить pyarrow через pip (pip install pyarrow
, и, как предлагалось Yagav: py -3.7 -m pip install --user pyarrow
) и conda (conda install -c conda-forge pyarrow
, также использовал conda install pyarrow
), собирая lib из sr c (используя окружение conda и некоторые волхвы c, которые я не очень понимаю), но все время после установки (без ошибок) он заканчивается одной и той же проблемой, когда я звоню:
import pyarrow as pa
fs = pa.hdfs.connect(host='my_host', user='my_user@my_host', kerb_ticket='path_to_kerb_ticket')
не получается со следующим сообщением:
Traceback (most recent call last):
File "", line 1, in
File "C:\ProgramData\Anaconda3\lib\site-packages\pyarrow\hdfs.py", line 209, in connect
extra_conf=extra_conf)
File "C:\ProgramData\Anaconda3\lib\site-packages\pyarrow\hdfs.py", line 37, in __init__
_maybe_set_hadoop_classpath()
File "C:\ProgramData\Anaconda3\lib\site-packages\pyarrow\hdfs.py", line 135, in _maybe_set_hadoop_classpath
classpath = _hadoop_classpath_glob(hadoop_bin)
File "C:\ProgramData\Anaconda3\lib\site-packages\pyarrow\hdfs.py", line 162, in _hadoop_classpath_glob
return subprocess.check_output(hadoop_classpath_args)
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 395, in check_output
**kwargs).stdout
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 472, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 775, in __init__
restore_signals, start_new_session)
File "C:\ProgramData\Anaconda3\lib\subprocess.py", line 1178, in _execute_child
startupinfo)
OSError: [WinError 193] %1 is not a valid win32 application
Сначала я подумал, что есть проблема с libhdfs.so из oop 2.5.6, но, похоже, я ошибся в этом , Я предполагаю, что проблема не в pyarrow или подпроцессе, а в некоторых системных переменных или зависимостях.
Также я определил системные переменные вручную как HADOOP_HOME
, JAVA_HOME
и KRB5CCNAME