使用Python操作HDFS,可以使用hdfs库。操作中需要用到iris.csv文件。

安装

首先安装hdfs

pip3 install hdfs

使用

导入

from hdfs import *

连接

Hadoop 3.x是9870,Hadoop 2.x是50070

client=Client("http://ec2-3-99-26-138.ca-central-1.compute.amazonaws.com:50070")

查看目录情况

client.status("/")
{'accessTime': 0,
 'blockSize': 0,
 'childrenNum': 5,
 'fileId': 16385,
 'group': 'hadoop',
 'length': 0,
 'modificationTime': 1629893809159,
 'owner': 'hdfs',
 'pathSuffix': '',
 'permission': '777',
 'replication': 0,
 'storagePolicy': 0,
 'type': 'DIRECTORY'}

查看目录中的文件

client.list("/")
['apps', 'tmp', 'user', 'var']

上传文件

上传文件(如果遇到error,则是权限问题)

# 第一个是HDFS上的地址,第二个是本地文件的地址
client.upload("/myiris.csv","iris.csv")

再看一下目录中的文件

client.list("/")
['apps', 'myiris.csv', 'tmp', 'user', 'var']

下载文件

client.download("/myiris.csv","./myiris")

再看一下

!ls
myiris xxx.ipynb

读取文件

with client.read("/myiris.csv") as reader:
    print(print(''.join([chr(c) for c in list(reader.read())])))
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
...
5.5,2.3,4.0,1.3,Iris-versicolor
6.5,2.8,4.6,1.5,Iris-versicolor
5.7,2.8,4.5,1.3,Iris-versicolor
6.3,3.3,4.7,1.6,Iris-versicolor
4.9,2.4,3.3,1.0,Iris-versicolor
最后修改:2021 年 08 月 25 日 08 : 42 PM
如果觉得我的文章对你有用,请随意赞赏