电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

python使用hdfs3模塊對hdfs進行操作詳解

瀏覽:7日期:2022-07-22 14:47:27

之前一直使用hdfs的命令進行hdfs操作,比如:

hdfs dfs -ls /user/spark/hdfs dfs -get /user/spark/a.txt /home/spark/a.txt #從HDFS獲取數據到本地hdfs dfs -put -f /home/spark/a.txt /user/spark/a.txt #從本地覆蓋式上傳hdfs dfs -mkdir -p /user/spark/home/datetime=20180817/....

身為一個python程序員,每天操作hdfs都是在程序中寫各種cmd調用的命令,一方面不好看,另一方面身為一個Pythoner這是一個恥辱,于是乎就挑了一個hdfs3的模塊進行hdfs的操作,瞬間就感覺優雅多了:

hdfs 官方API:https://hdfs3.readthedocs.io/en/latest/api.html

>>> from hdfs3 import HDFileSystem#鏈接HDFS>>> hdfs = HDFileSystem(host=’localhost’, port=8020)>>> hdfs.ls(’/user/data’)>>> hdfs.put(’local-file.txt’, ’/user/data/remote-file.txt’)>>> hdfs.cp(’/user/data/file.txt’, ’/user2/data’)

#文件讀取

#txt文件全部讀取>>> with hdfs.open(’/user/data/file.txt’) as f:... data = f.read(1000000)#使用pandas讀取1000行數據>>> with hdfs.open(’/user/data/file.csv.gz’) as f:... df = pandas.read_csv(f, compression=’gzip’, nrows=1000)

#寫入文件

>>> with hdfs.open(’/tmp/myfile.txt’, ’wb’) as f:... f.write(b’Hello, world!’)

#多節點連接設置

host = 'nameservice1'conf = {'dfs.nameservices': 'nameservice1', 'dfs.ha.namenodes.nameservice1': 'namenode113,namenode188', 'dfs.namenode.rpc-address.nameservice1.namenode113': 'hostname_of_server1:8020', 'dfs.namenode.rpc-address.nameservice1.namenode188': 'hostname_of_server2:8020', 'dfs.namenode.http-address.nameservice1.namenode188': 'hostname_of_server1:50070', 'dfs.namenode.http-address.nameservice1.namenode188': 'hostname_of_server2:50070', 'hadoop.security.authentication': 'kerberos'}fs = HDFileSystem(host=host, pars=conf)

#API

hdfs = HDFileSystem(host=’127.0.0.1’, port=8020)hdfs.cancel_token(token=None) #未知,求大佬指點hdfs.cat(path) #獲取指定目錄或文件的內容hdfs.chmod(path, mode) #修改制定目錄的操作權限hdfs.chown(path, owner, group) #修改目錄所有者,以及用戶組hdfs.concat(destination, paths) #將指定多個路徑paths的文件,合并成一個文件寫入到destination的路徑,并刪除源文件(The source files are deleted on successful completion.成功完成后將刪除源文件。)hdfs.connect() #連接到名稱節點 這在啟動時自動發生。 LZ:未知作用,按字面意思,應該是第一步HDFileSystem(host=’127.0.0.1’, port=8020)發生的hdfs.delegate_token(user=None)hdfs.df() #HDFS系統上使用/空閑的磁盤空間hdfs.disconnect() #跟connect()相反,斷開連接hdfs.du(path, total=False, deep=False) #查看指定目錄的文件大小,total是否把大小加起來一個總數,deep是否遞歸到子目錄hdfs.exists(path) #路徑是否存在hdfs.get(hdfs_path, local_path, blocksize=65536) #將HDFS文件復制到本地,blocksize設置一次讀取的大小hdfs.get_block_locations(path, start=0, length=0) #獲取塊的物理位置hdfs.getmerge(path, filename, blocksize=65536) #獲取制定目錄下的所有文件,復制合并到本地文件hdfs.glob(path) #/user/spark/abc-*.txt 獲取與這個路徑相匹配的路徑列表hdfs.head(path, size=1024) #獲取指定路徑下的文件頭部分的數據hdfs.info(path) #獲取指定路徑文件的信息hdfs.isdir(path) #判斷指定路徑是否是一個文件夾hdfs.isfile(path) #判斷指定路徑是否是一個文件hdfs.list_encryption_zones() #獲取所有加密區域的列表hdfs.ls(path, detail=False) #返回指定路徑下的文件路徑,detail文件詳細信息hdfs.makedirs(path, mode=457) #創建文件目錄類似 mkdir -phdfs.mkdir(path) #創建文件目錄hdfs.mv(path1, path2) #將path1移動到path2open(path, mode=’rb’, replication=0, buff=0, block_size=0) #讀取文件,類似于python的文件讀取hdfs.put(filename, path, chunk=65536, replication=0, block_size=0) #將本地的文件上傳到,HDFS指定目錄hdfs.read_block(fn, offset, length, delimiter=None) #指定路徑文件的offset指定讀取字節的起始點,length讀取長度,delimiter確保讀取在分隔符bytestring上開始和停止>>> hdfs.read_block(’/data/file.csv’, 0, 13) b’Alice, 100nBo’>>> hdfs.read_block(’/data/file.csv’, 0, 13, delimiter=b’n’) b’Alice, 100nBob, 200’hdfs.rm(path, recursive=True) #刪除指定路徑recursive是否遞歸刪除hdfs.tail(path, size=1024) #獲取 文件最后一部分的數據hdfs.touch(path) #創建一個空文件hdfs.walk(path) #遍歷文件樹

補充知識:HDFS命令批量創建文件夾和文件

批量創建測試文件夾:

hadoop fs -mkdir -p /user/hivedata/temp/201912311001/d={27..30}/h={10..17}/m5={5,15,25}/

批量創建測試文件:

hadoop fs -touchz /user/hivedata/temp/201912311001/d={27..30}/h={10..17}/m5={5,15,25}/{0..5}.orc

最終效果:

hadoop fs -ls -R /user/hivedata/

python使用hdfs3模塊對hdfs進行操作詳解

以上這篇python使用hdfs3模塊對hdfs進行操作詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: ICP备案查询_APP备案查询_小程序备案查询 - 备案巴巴 | GEDORE扭力螺丝刀-GORDON防静电刷-CHEMTRONICS吸锡线-上海卓君电子有限公司 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 高楼航空障碍灯厂家哪家好_航空障碍灯厂家_广州北斗星障碍灯有限公司 | 胶泥瓷砖胶,轻质粉刷石膏,嵌缝石膏厂家,腻子粉批发,永康家德兴,永康市家德兴建材厂 | 螺杆式冷水机-低温冷水机厂家-冷冻机-风冷式-水冷式冷水机-上海祝松机械有限公司 | 卡诺亚轻高定官网_卧室系统_整家定制_定制家居_高端定制_全屋定制加盟_定制家具加盟_定制衣柜加盟 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 环氧树脂地坪漆_济宁市新天地漆业有限公司 | 磁力抛光机_磁力研磨机_磁力去毛刺机-冠古设备厂家|维修|租赁【官网】 | 报警器_家用防盗报警器_烟雾报警器_燃气报警器_防盗报警系统厂家-深圳市刻锐智能科技有限公司 | 防水套管-柔性防水套管-刚性防水套管-上海执品管件有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 柔性输送线|柔性链板|齿形链-上海赫勒输送设备有限公司首页[输送机] | 除湿机|工业除湿机|抽湿器|大型地下室车间仓库吊顶防爆除湿机|抽湿烘干房|新风除湿机|调温/降温除湿机|恒温恒湿机|加湿机-杭州川田电器有限公司 | 成都租车_成都租车公司_成都租车网_众行宝 | 岸电电源-60HZ变频电源-大功率变频电源-济南诚雅电子科技有限公司 | 磨煤机配件-高铬辊套-高铬衬板-立磨辊套-盐山县宏润电力设备有限公司 | 生物颗粒燃烧机-生物质燃烧机-热风炉-生物颗粒蒸汽发生器-丽水市久凯能源设备有限公司 | 冷库安装厂家_杭州冷库_保鲜库建设-浙江克冷制冷设备有限公司 | 福州甲醛检测-福建室内空气检测_环境检测_水质检测-福建中凯检测技术有限公司 | 立式矫直机_卧式矫直机-无锡金矫机械制造有限公司 | 胀套-锁紧盘-风电锁紧盘-蛇形联轴器「厂家」-瑞安市宝德隆机械配件有限公司 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | RO反渗透设备_厂家_价格_河南郑州江宇环保科技有限公司 | 北京公司注册_代理记账_代办商标注册工商执照-企力宝 | 轴流风机-鼓风机-离心风机-散热风扇-罩极电机,生产厂家-首肯电子 | 阀门智能定位器_电液动执行器_气动执行机构-赫尔法流体技术(北京)有限公司 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 汽液过滤网厂家_安平县银锐丝网有限公司 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 老房子翻新装修,旧房墙面翻新,房屋防水补漏,厨房卫生间改造,室内装潢装修公司 - 一修房屋快修官网 | 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 微动开关厂家-东莞市德沃电子科技有限公司 | 桌上式超净工作台-水平送风超净工作台-上海康路仪器设备有限公司 | 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 知企服务-企业综合服务(ZiKeys.com)-品优低价、种类齐全、过程管理透明、速度快捷高效、放心服务,知企专家! | 深圳离婚律师咨询「在线免费」华荣深圳婚姻律师事务所专办离婚纠纷案件 | 天长市晶耀仪表有限公司| 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 |