from hdfs.client importClient#关于python操作hdfs的API可以查看官网:#https://hdfscli.readthedocs.io/en/latest/api.html

#读取hdfs文件内容,将每行存入数组返回

defread_hdfs_file(client, filename):#with client.read('samples.csv', encoding='utf-8', delimiter='\n') as reader:

#for line in reader:

#pass

lines =[]

with client.read(filename, encoding='utf-8', delimiter='\n') as reader:for line inreader:#pass

#print line.strip()

lines.append(line.strip())returnlines#创建目录

defmkdirs(client, hdfs_path):

client.makedirs(hdfs_path)#删除hdfs文件

defdelete_hdfs_file(client, hdfs_path):

client.delete(hdfs_path)#上传文件到hdfs

defput_to_hdfs(client, local_path, hdfs_path):

client.upload(hdfs_path, local_path, cleanup=True)#从hdfs获取文件到本地

defget_from_hdfs(client, hdfs_path, local_path):

client.download(hdfs_path, local_path, overwrite=False)#追加数据到hdfs文件

defappend_to_hdfs(client, hdfs_path, data):

client.write(hdfs_path, data, overwrite=False, append=True, encoding='utf-8')#覆盖数据写到hdfs文件

defwrite_to_hdfs(client, hdfs_path, data):

client.write(hdfs_path, data, overwrite=True, append=False, encoding='utf-8')#移动或者修改文件

defmove_or_rename(client, hdfs_src_path, hdfs_dst_path):

client.rename(hdfs_src_path, hdfs_dst_path)#返回目录下的文件

deflist(client, hdfs_path):return client.list(hdfs_path, status=False)#client = Client(url, root=None, proxy=None, timeout=None, session=None)#client = Client("http://hadoop:50070")

client = Client("http://120.78.186.82:50070/",root="/",timeout=10000,session=False)#client = InsecureClient("http://120.78.186.82:50070", user='ann');

#move_or_rename(client,'/input/2.csv', '/input/emp.csv')#read_hdfs_file(client,'/input/emp.csv')

put_to_hdfs(client, 'D:\\bbb.txt', '/file')#append_to_hdfs(client,'/input/emp.csv','我爱你'+'\n')#write_to_hdfs(client, '/emp.csv', "sadfafdadsf")#read_hdfs_file(client,'/input/emp.csv')#move_or_rename(client,'/input/emp.csv', '/input/2.csv')#mkdirs(client,'/input/python')#print(list(client, '/'))#chown(client,'/input/1.csv', 'root')

python操作hdfs_python 操作hdfs相关推荐

  1. Python模块MySQLdb操作mysql出现2019错误:Can't initialize character set utf-8

    我使用python的MySQLdb模块实现了一个mysql client, 在测试时,出现了如下错误 Python模块MySQLdb操作mysql出现2019错误:Can't initialize c ...

  2. Python 炫技操作:合并字典的七种方法

    来源 | Python编程时光(ID: Cool-Python) Python 语言里有许多(而且是越来越多)的高级特性,是 Python 发烧友们非常喜欢的.在这些人的眼里,能够写出那些一般开发者看 ...

  3. Python OpenCV像素操作

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:opencv学堂 Python OpenCV像素操作 环 ...

  4. python列表字典操作_Python 列表(list)、字典(dict)、字符串(string)常用基本操作小结...

    创建列表 sample_list = ['a',1,('a','b')] Python 列表操作 sample_list = ['a','b',0,1,3] 得到列表中的某一个值 value_star ...

  5. python 实现卷积操作

    python实现卷积操作 调用tf.nn.conv2d()实现卷积 自己实现卷积函数 我们知道,tensorflow里面自带卷积函数,tf.nn.conv2d()就可以实现相关功能,本文主要是自己实现 ...

  6. python列表按照指定顺序排序-Python常见排序操作示例【字典、列表、指定元素等】...

    本文实例讲述了Python常见排序操作.分享给大家供大家参考,具体如下: 字典排序 按value排序 d1 = {"name":"python","b ...

  7. python界面设置-PYTHON图形化操作界面的编程七__创建菜单

    PYTHON图形化操作界面的编程七__创建菜单 十八.创建菜单 1.水平菜单的创建 创建菜单需要多条语句,所以这里通过实例来说明水平菜单的创建方法: 下面的语句可以在窗口中添加水平菜单,其中前四行语句 ...

  8. python与excel做数据可视化-Python的Excel操作及数据可视化

    Excel表操作 python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库. 安装xlrd pip install xlrd 简单的表格读取 ...

  9. python切片语法-Python字符串切片操作知识详解

    python 中关于字符串切片的一个问题 aa[0:6] 表示取 第0,1,2,3,4,5 位的数据 所以是6个 123456 aa[:-1] 表示取开始到倒数第二位的数据 所以也是123456 就像 ...

最新文章

  1. 使用libre office writer 为文档添加可跳转目录
  2. 抓包分析TCP的三次握手和四次分手
  3. Zabbix 3.0 配置企业微信报警(注册---测试)
  4. 转 db_file_multiblock_read_count
  5. lvs负载均衡的调度算法和工作模式
  6. python取余什么意思_基于python 取余问题(%)详解
  7. 8uftp上传失败,6步解决8uftp上传失败问题
  8. 数学四大思想八大方法_数学四大思想方法
  9. 系统好看 字体font-family
  10. 5.3. 虚拟存储管理------页面置换算法
  11. 为什么网络钓鱼攻击仍然有利可图----以及如何阻止它
  12. 奥维查看行政边界_【百度地图API】如何获取行政区域的边界? (转载)
  13. 9.1 爬虫及爬行方式
  14. 简历-lol学习性项目
  15. C++的关键字 volatile
  16. 混沌网格(Chaos Mesh)的设计和工作原理
  17. provider android简书,Android 7.0 provider属性说明
  18. c++图形库 allegro 开发(一)
  19. java 设置rgb颜色_java – 使用XSSFColor设置RGB颜色
  20. 知更鸟begin主题添加留言者相关信息(国家、浏览器、操作系统、所在区域)

热门文章

  1. linux实战应用案例: 777 权限表示什么,各数字又是什么含义?
  2. pi节点虚拟服务器怎么弄,pi怎么用云服务器做节点
  3. 分库分表技术演进最佳实践-修订篇
  4. 蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践
  5. 李宏毅深度学习——深度学习介绍
  6. 【联邦学习】FATE 集群部署 step1
  7. 【待继续研究】建模-听说你的坏样本不太够
  8. NUXT快速开始,选择Vuetify
  9. 新年到,献给从一线工程师到CTO的实用指南:《2019区块链开发者报告》
  10. Julie Desk:这个帮你安排会议的AI助手刚刚融了250万欧元