无法使用snakebi获取和显示文件

2024-04-27 21:21:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在试^{}。我启动了以下客户机:

from snakebite.client import Client
client = Client("my.host.com", 8020, effective_user='datascientist')

首先,我试图列出用户目录:

^{pr2}$

这很好地工作,并打印了两个字典;目录中的每个条目对应一个。其中一个项目是一个文件foobar.txt,我想看看。为此,我想我应该使用^{}

for cat in client.cat(['/user/datascientist/da-foobar.txt',]):
    print(cat)
    for item in cat:
        print(item)

但是,这没用。我收到以下错误消息:

ConnectionFailureException: Failure to connect to data node at (10.XXX.YYY.ZZZ:50010)

我做错什么了?在

顺便说一句:使用来自pywebhdfs.webhdfsPyWebHdfsClient我启动了一个地址相同但端口为50070的客户机,从而成功地查看了该文件。我不知道这是否相关。在

编辑1:我也尝试使用snakebite.client.Client.text并得到相同的错误。我想这并不奇怪。在

顺便说一句,文件的内容是my file is this\ntest file。在


Tags: 文件in目录txtclientfor客户机my
1条回答
网友
1楼 · 发布于 2024-04-27 21:21:06

我找到了解决办法。似乎可以在name节点上单独完成列出操作。相反,打印文本文件需要访问数据节点!通过实例化客户机,如下所示

client = Client("stage-gap-namenode-2.srv.glispa.com", 8020, effective_user='datascientist', 
                use_datanode_hostname=True)

cat操作的工作原理是它不使用内部IP,而是使用主机名。我总结了一个minimal example。在

相关问题 更多 >