av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

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

瀏覽:9日期: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獲取數(shù)據(jù)到本地hdfs dfs -put -f /home/spark/a.txt /user/spark/a.txt #從本地覆蓋式上傳hdfs dfs -mkdir -p /user/spark/home/datetime=20180817/....

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

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行數(shù)據(jù)>>> 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!’)

#多節(jié)點連接設(shè)置

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) #獲取指定目錄或文件的內(nèi)容hdfs.chmod(path, mode) #修改制定目錄的操作權(quán)限hdfs.chown(path, owner, group) #修改目錄所有者,以及用戶組hdfs.concat(destination, paths) #將指定多個路徑paths的文件,合并成一個文件寫入到destination的路徑,并刪除源文件(The source files are deleted on successful completion.成功完成后將刪除源文件。)hdfs.connect() #連接到名稱節(jié)點 這在啟動時自動發(fā)生。 LZ:未知作用,按字面意思,應該是第一步HDFileSystem(host=’127.0.0.1’, port=8020)發(fā)生的hdfs.delegate_token(user=None)hdfs.df() #HDFS系統(tǒng)上使用/空閑的磁盤空間hdfs.disconnect() #跟connect()相反,斷開連接hdfs.du(path, total=False, deep=False) #查看指定目錄的文件大小,total是否把大小加起來一個總數(shù),deep是否遞歸到子目錄hdfs.exists(path) #路徑是否存在hdfs.get(hdfs_path, local_path, blocksize=65536) #將HDFS文件復制到本地,blocksize設(shè)置一次讀取的大小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) #獲取指定路徑下的文件頭部分的數(shù)據(jù)hdfs.info(path) #獲取指定路徑文件的信息hdfs.isdir(path) #判斷指定路徑是否是一個文件夾hdfs.isfile(path) #判斷指定路徑是否是一個文件hdfs.list_encryption_zones() #獲取所有加密區(qū)域的列表hdfs.ls(path, detail=False) #返回指定路徑下的文件路徑,detail文件詳細信息hdfs.makedirs(path, mode=457) #創(chuàng)建文件目錄類似 mkdir -phdfs.mkdir(path) #創(chuàng)建文件目錄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指定讀取字節(jié)的起始點,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) #獲取 文件最后一部分的數(shù)據(jù)hdfs.touch(path) #創(chuàng)建一個空文件hdfs.walk(path) #遍歷文件樹

補充知識:HDFS命令批量創(chuàng)建文件夾和文件

批量創(chuàng)建測試文件夾:

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

批量創(chuàng)建測試文件:

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進行操作詳解就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持好吧啦網(wǎng)。

標簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 9porny九色视频自拍 | 特级丰满少妇一级aaaa爱毛片 | 久久久国产一区 | 国内精品一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 人人看人人爽 | 人操人免费视频 | 欧美人妇做爰xxxⅹ性高电影 | 国产日韩一区二区三免费高清 | 久久久99国产精品免费 | 欧美视频在线看 | 成人在线播放 | 亚洲精品大片 | 成人在线看片 | 亚洲免费在线 | 久久99国产精一区二区三区 | 亚洲精品电影网在线观看 | 中文字幕亚洲视频 | 午夜激情免费视频 | 在线国产一区二区 | www.色.com | 国产精品一区一区三区 | 天天躁天天操 | 这里只有精品999 | 国产1区| 欧美在线视频一区二区 | 久久久久一区二区三区 | 日韩中文字幕在线视频观看 | 欧美综合一区二区三区 | 欧美久久视频 | 免费a网 | 国产精品高潮呻吟久久 | 欧美黄色小视频 | 国产观看 | 狠狠亚洲 | 亚洲欧美中文日韩在线v日本 | 亚洲一区二区视频 | 在线看91| 久久精品成人热国产成 | 亚洲国产成人精品女人久久久 | 亚洲国产精品一区二区三区 |