Python向hdfs写入文件与hadoop命令向hdfs写入文件

2022年12月30日11:58:58

首先需要安装pyhdfs,可用如下命令安装

pip install pyhdfs

首先我们如果先用hadoop原生命令来操作hdfs(分布式文件系统)上传文件。
命令如下

hadoop fs -put /home/hadoop1/software/data/two.txt /

其中-put上传,本地路径/home/hadoop1/software/data/two.txt,上传在HDFS的路径是 /

使用Python来操作hdfs写入文件的代码为

from pyhdfs import HdfsClient
client = HdfsClient(hosts='hadoop1:50070',user_name='root')
client.copy_from_local('/home/hadoop1/software/data/one.txt','/1')#本地文件绝对路径,HDFS目录必须不存在

其中hosts的参数为hdfs的url。user_name是本机的用户可以使用hadoop的用户。copy_from_local的第一个参数为本地路径。第二个参数为HDFS的路径,且这个路径不能已经存在。
Python读hdfs

from pyhdfs import HdfsClient
client=HdfsClient(hosts='hadoop1:50070')#hdfs的主机用户名和端口
res=client.open('/two.txt')#hdfs文件路径,从根目录计
for r in res:
 line=str(r,encoding='utf8')#open后是二进制,str()转换为字符串
 print(line)

Python创建新文件

from pyhdfs import HdfsClient
client = HdfsClient(hosts='hadoop1:50070',user_name='root')
str='666'
client.create('/py.txt',str)#创建新文件,写入字符串

部分参考Python连接HDFS实现文件上传下载及Pandas转换文本文件到CSV操作

  • 作者:宇轩avenue
  • 原文链接:https://blog.csdn.net/qq_45701131/article/details/117482422
    更新时间:2022年12月30日11:58:58 ,共 873 字。