Извинения, потому что я не знаю достаточно, чтобы правильно задать этот вопрос; все, что я знаю, это то, что я получаю ошибку Segmentation Fault: 11 всякий раз, когда я пытаюсь перечислить несколько файлов, хранящихся в HDFS, используя PyArrow
с драйвером libhdfs3
в Python3:
Python 3.7.1 | packaged by conda-forge | (default, Nov 13 2018, 10:30:07)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Вот код, который я использую:
import pyarrow as pa
fs = pa.hdfs.connect('localhost', 8020, driver='libhdfs3')
Это нормально подключается к HDFS, поэтому я запускаю:
>>> fs.ls("/user/dan/", detail=False)
['/user/dan/testing'] # this directory has 2 files in it
>>> fs.ls("/user/dan/testing", detail=False)
Segmentation fault: 11
Интересно, если я удалю один из файлов ...
>>> fs.ls("/user/dan/testing", detail=False)
['/user/dan/testing/C5116966@05.json']
... это работает и не segfault.
Поскольку я даже не знаю, какая часть моего окружения может вызывать это (Python? Pyarrow? Libhdfs3?), Я не уверен, что вообще искать, чтобы найти и устранить неисправности.
Любые мысли или рекомендации приветствуются!