Python pyarrow:非遗留文件系统无法连接,即使遗留文件系统可以连接
当尝试使用pyarrow包(版本0.17.1)中的非传统数据集时,我在连接到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
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,正如文档所建议的,取决于您的系统是如何配置的)。啊,是的,我还必须设置类路径。很高兴你把它整理好了。我希望他们刚才在文档中提到,非遗留方式错过了遗留版本的一些魔力,这意味着现在你必须设置类路径,而以前没有这个步骤就可以让它工作