因为数据分析的需要有时需要利用python进行数据的处理,这也需要进行在大数据平台上取数,本文将讲解怎么利用python将windows下的虚拟机文件下载到本地,可以算是进行大数据与python的一个简单结合。
ps:本文的配置为Hadoop完全分布式、Python 3.7.6
1.启动hdfs
2.文件查看
这里主要是利用端口号登录hdfs的网页版然后查看下需要获取的文件
上述图片中可以看到在hdfs的自建文件夹下有一个表格文件,这个就是我们要下载到本地的对象。
3.python代码编写
先安装下hdfs库
pip install hdfs
编写文件下载代码
from hdfs import InsecureClient
# 创建客户端连接
client = InsecureClient('http://centos01:50070', user='root')
# 下载文件到本地
client.download('/shijian/肺结核发病率.csv', '肺结核数据.csv', overwrite=True)
其他操作相关的代码如下,部分代码为提示信息需要在使用时进行更改
from hdfs import InsecureClient
# 创建客户端连接
client = InsecureClient('http://centos01:50070', user='root')
# 检查文件或目录是否存在
if client.status('/<path_to_file_or_directory>', strict=False):
print('文件或目录存在')
else:
print('文件或目录不存在')
# 创建目录
client.makedirs('/<path_to_directory>')
# 上传文件到HDFS
client.upload('/<path_to_destination>', '/<path_to_source>')
# 下载文件到本地
client.download('/shijian/肺结核发病率.csv', '肺结核数据.csv', overwrite=True)
# 删除文件或目录
client.delete('/<path_to_file_or_directory>', recursive=True)
# 获取目录中的文件列表
file_list = client.list('/<path_to_directory>')
print(file_list)
4.结果查看
选择python的一个工作目录来存取从hdfs下载的文件
可见文件已经从hdfs下载到本地