python读写hdfs

2023年1月6日10:58:31
from hdfs import InsecureClient

lian = InsecureClient(url='http://master:9870')  # 指定远程地址,和用户名
print(lian.list('/'))  # 列出根目录下的所有文件
lian.write(hdfs_path='/niubi/shang2', overwrite=True, data='世界你好,我来了'.encode('utf-8'))  # 在/niubi/目录下面创建名字为shang的文件,里面写入数据“世界你好,我来了”。注意,数据要使用utf-8编码才行,该方法还有一个要注意的参数,append参数用于说明要不要覆盖已有的内容,默认为False,即在尾部添加。overwrite参数指明如果文件已经存在时的操作,True表示覆盖,False时如果文件已存在就抛异常
print(lian.list('/niubi'))

#查看文件的内容
with lian.read('/niubi/shang2') as f:  # read方法返回的是上下文管理器对象,所以要使用with调用
    print(f.data.decode('utf-8'))  # 返回的数据放在read函数的data变量里面,并且存储的是utf-8的编码,所以要转码才能看到中文,当然,英文不用转码

  • 作者:小金子的夏天
  • 原文链接:https://blog.csdn.net/WangYouJin321/article/details/126221723
    更新时间:2023年1月6日10:58:31 ,共 557 字。