pyarrow.hdfs.connect(host='default', port=0, user=None, kerb_ticket=None, driver='libhdfs', extra_conf=None)
Вы должны быть уверены, что libhdfs.so
в $HADOOP_HOME/lib/nativ
e, а также в $ARROW_LIBHDFS_DIR
.
Для HADOOP
:
bash-3.2$ ls $ARROW_LIBHDFS_DIR
examples libhadoop.so.1.0.0 libhdfs.a libnativetask.a
libhadoop.a libhadooppipes.a libhdfs.so libnativetask.so
libhadoop.so libhadooputils.a libhdfs.so.0.0.0 libnativetask.so.1.0.0
последняя известная мне версия: Hadoop 3.2.0
Вы можете загрузить любую собственную разделяемую библиотеку, используя DistributedCache для распространения и создания ссылок на файлы библиотеки.
В этом примере показано, как распространять разделяемую библиотеку mylib..so и загрузите его из задачи MapReduce. см. Информацию
- Сначала скопируйте библиотеку в HDFS:
bin/hadoop fs -copyFromLocal mylib.so.1 /libraries/mylib.so.1
Программа запуска задания должна содержать следующее:
DistributedCache.createSymlink (CONF);DistributedCache.addCacheFile ("hdfs: // хост: порт / библиотеки / mylib.so. 1 # mylib.so", conf);
Задача MapReduce может содержать: System.loadLibrary("mylib.so");
Примечание. Если вы загрузили или собрали встроенную библиотеку hadoop, вам не нужно использовать DistibutedCache, чтобы сделать библиотеку доступной для ваших задач MapReduce.