Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyarrow:非遗留文件系统无法连接,即使遗留文件系统可以连接_Python_Pyarrow - Fatal编程技术网

Python pyarrow:非遗留文件系统无法连接,即使遗留文件系统可以连接

Python pyarrow:非遗留文件系统无法连接,即使遗留文件系统可以连接,python,pyarrow,Python,Pyarrow,当尝试使用pyarrow包(版本0.17.1)中的非传统数据集时,我在连接到HDFS时遇到OSError:HDFS连接失败错误。但是,当我使用遗留的连接时,我可以毫无问题地建立连接 i、 e.波纹管工作: filesystem=pa.hdfs.connect(主机='host\u name',kerb\u ticket=path\u to\u kerb\u ticket\u缓存,端口=0) 但这并不是: filesystem=pa.fs.HadoopFileSystem(主机='host\u n

当尝试使用pyarrow包(版本0.17.1)中的非传统数据集时,我在连接到
HDFS
时遇到
OSError:HDFS连接失败
错误。但是,当我使用遗留的连接时,我可以毫无问题地建立连接

i、 e.波纹管工作:

filesystem=pa.hdfs.connect(主机='host\u name',kerb\u ticket=path\u to\u kerb\u ticket\u缓存,端口=0)

但这并不是:

filesystem=pa.fs.HadoopFileSystem(主机='host\u name',kerb\u ticket=path\u to\u kerb\u ticket\u缓存,端口=0)

此外,如果我首先使用传统方式创建连接,然后尝试使用非传统方式进行连接,则一切正常:

filesystem = pa.hdfs.connect(host = 'host_name', kerb_ticket = path_to_kerb_ticket_cache, port = 0)
filesystem = pa.fs.HadoopFileSystem(host = 'host_name', kerb_ticket = path_to_kerb_ticket_cache, port = 0)

有没有关于如何正确使用pa.fs.HadoopFileSystem的想法?

当您使用旧版连接功能并以
default
的形式输入主机时,它会从
core site.xml
(defaultFS)获取默认主机。新的Hadoop文件系统调用不能做到这一点。手动将主机输入到hadoop文件系统中为我修复了它

e、 g.在本部分中输入主机

fs.hadoop文件系统(主机=>hdfs://your-hdfs-host“…)

而不是输入
default


fs.HadoopFileSystem(host='default'…)

我试过使用host='default'hdfs://your-hdfs-host'根据您的建议,但这没有帮助您是否用实际的主机替换了
您的hdfs主机
?您可以在
core site.xml
defaultFS
下找到它。我找到了,但我今天刚刚回到这个问题,结果发现我们没有正确配置CLASSPATH变量。将其设置为hadoop类路径--glob解决了这个问题(我想您是必须使用hdfs类路径--glob还是hadoop类路径--glob,正如文档所建议的,取决于您的系统是如何配置的)。啊,是的,我还必须设置类路径。很高兴你把它整理好了。我希望他们刚才在文档中提到,非遗留方式错过了遗留版本的一些魔力,这意味着现在你必须设置类路径,而以前没有这个步骤就可以让它工作