[英]Unable to fetch and display files using snakebite
我在試snakebite
。 我啟動了以下客戶端:
from snakebite.client import Client
client = Client("my.host.com", 8020, effective_user='datascientist')
首先,我嘗試列出用戶目錄:
for x in client.ls(['/user/datascientist']):
print x
這很好用,並打印了幾本詞典。 目錄中的每個項目一個。 其中一項是我想要查看的文件foobar.txt
。 為此,我相信我應該使用Client.cat
:
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.webhdfs
使用PyWebHdfsClient
我設法通過使用具有相同地址但端口為50070的客戶端啟動來查看該文件。我不知道這是否相關。
編輯1:我也嘗試使用snakebite.client.Client.text
並得到相同的錯誤。 我想這並不奇怪。
順便說一句,文件的內容是my file is this\\ntest file
。
我找到了一個解決方案。 列表操作似乎可以僅在名稱節點上完成。 相反,打印文本文件需要訪問數據節點! 通過如下實例化客戶端
client = Client("stage-gap-namenode-2.srv.glispa.com", 8020, effective_user='datascientist',
use_datanode_hostname=True)
cat
操作的工作原理是不使用內部IP,而是使用主機名。 我總結了一個最小的例子 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.