python操作HDFS

如果想把pandas生成的json,csv导入到hdfs,直接使用hdfs的地址时不行的

 

ps:其实直接使用spark SQL 的to_csv,to_json,就已经完美解决了,这里就是说用pandas来写入

 

使用HDFS package

import pandas as pd
from hdfs import InsecureClient

首先需要连接到hdfs的WebURI

#连接到hdfs:hadoop3接口为9870
client_hdfs = InsecureClient('http://master:9870')

然后就可以使用hdfs客户端执行hadoop命令

 

写入(overwrite=True 覆盖文件,等价于put,不覆盖文件等价于copyFromLocal)

with client_hdfs.write('/user/ang/helloworld.csv', encoding = 'utf-8',overwrite=True) as writer:
    df.to_csv(writer)

读取

with client_hdfs.read('/user/ang/helloworld.csv', encoding = 'utf-8') as reader:
    df1 = pd.read_csv(reader,index_col=0)

其他常用操作

操作python hdfshdfs 命令
删除文件client_hdfs.delete("path")hadoop fs -rm path
下载client_hdfs.download("hdfs_path",'local_path')hadoop fs -copyToLocal hdfs_path local_path
上传文件client_hdfs.upload('hdfs_path','local_path')hadoop fs -copyFromLocal local hdfs
改名client_hdfs.rename('old_path','new_path')hadoop fs -mv old_path new_path
查看文件client_hdfs.list('path')hadoop fs -ls path
新建路径client_hdfs.makedirs('path')hadoop fs -mkdir path

说明文档

https://hdfscli.readthedocs.io/en/latest/api.html#hdfs.client.Client.write

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
HDFS(Hadoop Distributed File System)是Apache Hadoop生态系统中的一部分,是一个分布式文件系统,用于存储和管理大规模数据集。HDFS旨在运行在低成本硬件上,并具有高容错性、高可扩展性和高吞吐量等优点。Python是一种流行的编程语言,可以用于操作HDFS系统文件Python操作HDFS系统文件的背景: 随着大数据技术的发展,越来越多的企业和组织开始使用Hadoop和HDFS来存储和管理大规模数据集。而Python作为一种广泛使用的编程语言,对于许多数据科学家和工程师来说是必不可少的工具。因此,Python操作HDFS系统文件的需求也越来越大。 Python操作HDFS系统文件的研究意义: 1. 提高工作效率:使用Python操作HDFS系统文件可以帮助数据科学家和工程师更快地处理和管理大规模数据集,提高工作效率。 2. 扩展应用场景:Python的广泛应用和HDFS的高可扩展性使得Python操作HDFS系统文件的应用场景更加广泛,可以应用于各种类型的数据处理和分析。 3. 降低技术门槛:使用Python操作HDFS系统文件可以降低技术门槛,使得更多的人可以轻松地处理和管理大规模数据集。 4. 促进技术创新:Python操作HDFS系统文件的应用可以促进技术创新,鼓励开发人员开发更多的工具和库来简化数据处理和管理。 总之,Python操作HDFS系统文件是一个有意义的研究方向,可以帮助我们更好地处理和管理大规模数据集,促进数据科学和工程的发展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值