日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

python讀取hdfs上的parquet文件方式

瀏覽:25日期:2022-07-22 15:00:03

在使用python做大數(shù)據(jù)和機(jī)器學(xué)習(xí)處理過程中,首先需要讀取hdfs數(shù)據(jù),對(duì)于常用格式數(shù)據(jù)一般比較容易讀取,parquet略微特殊。從hdfs上使用python獲取parquet格式數(shù)據(jù)的方法(當(dāng)然也可以先把文件拉到本地再讀取也可以):

1、安裝anaconda環(huán)境。

2、安裝hdfs3。

conda install hdfs3

3、安裝fastparquet。

conda install fastparquet

4、安裝python-snappy。

conda install python-snappy

5、讀取文件

##namenode mode:from hdfs3 import HDFileSystemfrom fastparquet import ParquetFile hdfs = HDFileSystem(host=IP, port=8020)sc = hdfs.open pf = ParquetFile(filename, open_with=sc)df = pf.to_pandas() ##返回pandas的DataFrame類型 ##HA mode:from hdfs3 import HDFileSystemfrom fastparquet import ParquetFile host = 'nameservice1'conf = { 'dfs.nameservices':'nameservice1', ......}hdfs = HDFileSystem(host = host, pars = conf)......

python訪問HDFS HA的三種方法

python訪問hdfs常用的包有三個(gè),如下:

1、hdfs3

其實(shí)從安裝便捷性和使用上來說,并不推薦hdfs3,因?yàn)樗南到y(tǒng)依賴和網(wǎng)絡(luò)要求較高,但是某些情況下使用hdfs3會(huì)比較方便,官網(wǎng)資料點(diǎn)這里。如上面介紹,IP直接訪問namenode:

from hdfs3 import HDFileSystemhdfs = HDFileSystem(host=namenode, port=8020)hdfs.ls(’/tmp’)

HA訪問:

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) ##或者下面這種配置host = 'ns1'conf = { 'dfs.nameservices':'ns1', 'dfs.ha.namenodes.ns1':'namenode122,namenode115', 'dfs.namenode.rpc-address.ns1.namenode122':'nnlab01:8020', 'dfs.namenode.servicerpc-address.ns1.namenode122':'nnlab01:8022', 'dfs.namenode.http-address.ns1.namenode122':'nnlab01:50070', 'dfs.namenode.https-address.ns1.namenode122':'nnlab01:50470', 'dfs.namenode.rpc-address.ns1.namenode115':'nnlab02:8020', 'dfs.namenode.servicerpc-address.ns1.namenode115':'nnlab02:8022', 'dfs.namenode.http-address.ns1.namenode115':'nnlab02:50070', 'dfs.namenode.https-address.ns1.namenode115':'nnlab02:50470',}hdfs = HDFileSystem(host = host, pars = conf)

2、hdfs

這種方法在使用的時(shí)候配置比較簡(jiǎn)單,官網(wǎng)資料也比較豐富,但是需要注意的是該API可以模擬用戶訪問,權(quán)限較大。IP直接訪問:

import hdfsclient = hdfs.client.InsecureClient(url='http://namenode:50070', user='hdfs')

HA訪問:

import hdfsclient = hdfs.client.InsecureClient(url='http://namenode1:50070;http://namenode2:50070', user='hdfs')

3、pyhdfs

安裝命令:pip install PyHDFS

官網(wǎng)地址,直接訪問:

import pyhdfsclient = pyhdfs.HdfsClient(hosts='namenode:50070',user_name='hdfs')

HA訪問

import pyhdfsclient = pyhdfs.HdfsClient(hosts=['namenode1:50070','namenode2:50070'],user_name='hdfs')

補(bǔ)充知識(shí):python spark中parquet文件寫到hdfs,同時(shí)避免太多的小文件(block小文件合并)

在pyspark中,使用數(shù)據(jù)框的文件寫出函數(shù)write.parquet經(jīng)常會(huì)生成太多的小文件,例如申請(qǐng)了100個(gè)block,而每個(gè)block中的結(jié)果

只有幾百K,這在機(jī)器學(xué)習(xí)算法的結(jié)果輸出中經(jīng)常出現(xiàn),這是一種很大的資源浪費(fèi),那么如何同時(shí)避免太多的小文件(block小文件合并)?

其實(shí)有一種簡(jiǎn)單方法,該方法需要你對(duì)輸出結(jié)果的數(shù)據(jù)量有個(gè)大概估計(jì),然后使用Dataframe中的coalesce函數(shù)來指定輸出的block數(shù)量

即可,具體使用代碼如下:

df.coalesce(2).write.parquet(path,mode)

這里df是指你要寫出的數(shù)據(jù)框,coalesce(2)指定了寫到2個(gè)block中,一個(gè)block默認(rèn)128M,path是你的寫出路徑,mode是寫出模式,常用的是

'overwrite'和'append'。

以上這篇python讀取hdfs上的parquet文件方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Python 編程
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
精品一区亚洲| 国产精品日本欧美一区二区三区| 一区二区三区午夜视频| 日韩视频在线一区二区三区| 九一精品国产| 国产亚洲精品久久久久婷婷瑜伽| 日韩午夜免费| 日本欧美在线看| 麻豆亚洲精品| 亚洲精选av| 日本欧美大码aⅴ在线播放| 日韩成人午夜精品| 国产精品一区毛片| 久久亚洲精精品中文字幕| 精品日韩一区| 日韩在线观看不卡| 婷婷综合激情| 综合激情一区| 国产欧美日韩视频在线| 精品国产a一区二区三区v免费| 国产一二在线播放| 亚洲成人三区| 日韩区欧美区| 久久精品 人人爱| 精品中国亚洲| 欧美日韩在线二区| 免费看欧美美女黄的网站| 日本欧美一区二区| 久久久国产精品入口麻豆| 超碰超碰人人人人精品| 伊人久久亚洲热| 日韩一区二区三免费高清在线观看 | 久久激情一区| 久久福利一区| 国产精品美女在线观看直播| 日韩免费在线| 日韩在线黄色| 在线手机中文字幕| 麻豆91精品| 国产精品亚洲综合久久| 丝袜诱惑一区二区| 亚洲一区二区三区四区五区午夜| 日本视频一区二区| 岛国av在线网站| 久久高清国产| 精品视频一二| 亚洲中字黄色| 美女久久久精品| 日韩精品看片| 日韩av一区二区三区四区| 亚洲深夜视频| 日韩精品成人在线观看| 午夜久久中文| 日韩欧美美女在线观看| 麻豆视频在线看| 亚洲另类视频| 桃色一区二区| 欧美中文高清| 亚洲v在线看| 久久激情综合网| 99热精品久久| 国产精品观看| 99热精品在线观看| 国产精品2023| 蜜臀va亚洲va欧美va天堂| 精品黄色一级片| 日韩精品一二三四| 成人av三级| 国产精品一级| 免费在线成人网| 美女网站视频一区| 国产精品xxx在线观看| 亚洲在线观看| 正在播放日韩精品| 日韩av午夜在线观看| 免费毛片在线不卡| 久久亚洲黄色| 日韩高清不卡在线| 日韩.com| 欧美天堂一区| 日韩精品一二三| 亚洲先锋成人| 麻豆精品视频在线| 免费久久99精品国产| 国产suv精品一区二区四区视频| 热久久久久久久| 99成人在线视频| 久久中文在线| 日本欧美在线| 久久福利一区| 亚洲国内欧美| 国产精选在线| 精品国产一区二区三区2021| 一区二区91| 999国产精品视频| 麻豆国产精品视频| 男女性色大片免费观看一区二区| 日本黄色精品| 国产精品久久久久久妇女| 水蜜桃久久夜色精品一区的特点| 91欧美国产| 美女高潮久久久| 国产精品hd| 视频一区视频二区中文| 麻豆视频在线看| 国产精品白浆| 日本不卡在线视频| 天堂成人免费av电影一区 | 国产精品成人一区二区网站软件| 亚洲综合精品四区| 999国产精品999久久久久久| 国产中文欧美日韩在线| 国产欧美日韩一区二区三区四区 | 日韩一级精品| 欧美日韩在线播放视频| 成人在线视频免费| 国产精品极品在线观看| 一区二区精彩视频| 亚洲神马久久| 日韩午夜一区| 日韩视频二区| 久久精品高清| 99久久九九| 久久精品高清| 999精品色在线播放| 久久中文字幕二区| 999国产精品永久免费视频app| 999久久久亚洲| 亚洲一级二级| 亚洲一区黄色| 久久国产生活片100| 午夜a一级毛片亚洲欧洲| 日韩大片免费观看| 黑森林国产精品av| 日韩免费小视频| 亚洲电影在线| 欧美特黄一区| 日韩一区精品视频| 美国欧美日韩国产在线播放| 久久亚洲不卡| 在线视频亚洲欧美中文| 一区二区国产在线观看| 亚洲精品免费观看| 91精品尤物| 日韩中文字幕视频网| 久久国际精品| 麻豆91精品视频| 老牛国内精品亚洲成av人片| 欧美国产三级| 国产不卡一区| 91tv亚洲精品香蕉国产一区| 日韩综合精品| 日韩视频一区二区三区在线播放免费观看| 日韩视频精品在线观看| 伊人久久一区| 国产精品久久亚洲不卡| 黄色在线观看www| 婷婷综合亚洲| 亚洲免费观看高清完整版在线观| 日韩精品国产精品| 国产精品久久| 久久精选视频| 日韩一级欧洲| 日韩激情av在线| 精品国产午夜肉伦伦影院| 国产在线看片免费视频在线观看| 91精品推荐| 在线精品视频一区| 欧美国产视频| 亚洲国产专区| 婷婷亚洲成人| 精品国产一区二区三区av片| 九色porny丨国产首页在线| 日韩午夜av在线| 国产日韩高清一区二区三区在线| 精品美女在线视频| 婷婷激情综合| 天堂va欧美ⅴa亚洲va一国产| 国产精品视频一区二区三区四蜜臂 | 奇米狠狠一区二区三区| 欧美精品不卡| 一本一道久久a久久精品蜜桃| 91九色综合| 日韩精品一区二区三区免费观看| 午夜在线精品| 久久伊人国产| 1024精品一区二区三区| 日本不卡一二三区黄网| 精品黄色一级片| 亚洲一区国产| 国产一区二区视频在线看| 在线视频日韩| 麻豆成人91精品二区三区| 欧美精品一区二区久久| 国产日韩中文在线中文字幕| 久久久久免费av| 国产日韩三级| 欧美日韩中文一区二区| 久久精品xxxxx| 欧美亚洲精品在线|