回顾
首先回顾下,用hadoop的命令行是如何操作hdfs的。
上传文件
hadoop fs -put /home/ai_user/xxx.txt /
其中-put上传,本地路径/home/ai_user/xxx.txt,上传到HDFS的路径是 /
安装必要的库包
pip install pyhdfs
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')
其中hosts的参数为hdfs的url。
user_name是本机的用户可以使用hadoop的用户。
copy_from_local的第一个参数为本地路径。第二个参数为HDFS的路径,且这个路径不能已经存在。
python读取hdf数据文件
from pyhdfs import HdfsClient
client=HdfsClient(hosts='hadoop1:50070')
res=client.open('/two.txt')
for r in res:
line=str(r,encoding='utf8')
print(line)
Python创建新文件
from pyhdfs import HdfsClient
client = HdfsClient(hosts='hadoop1:50070',user_name='root')
str='666'
client.create('/py.txt',str)