python讀取hdfs上的parquet檔案
在使用python做大資料和機器學習處理過程中,首先需要讀取hdfs資料,對於常用格式資料一般比較容易讀取,parquet略微特殊。從hdfs上使用python獲取parquet格式資料的方法(當然也可以先把檔案拉到本地再讀取也可以):
1、安裝anaconda環境。
2、安裝hdfs3。
conda install hdfs3
3、安裝fastparquet。
conda install fastparquet
4、安裝python-snappy。
conda install python-snappy
如果是無網環境,需要把依賴包下載下來,配置 .condarc 檔案,從指定包或者內網伺服器安裝。
namenode mode:
from hdfs3 import HDFileSystem
from fastparquet import ParquetFile
hdfs = HDFileSystem(host='172.16.6.32', port=8020)
sc = hdfs.open
pf = ParquetFile(filename, open_with=sc)
df = pf.to_pandas()
HA mode:
from hdfs3 import HDFileSystem
from fastparquet import ParquetFile
host = "nameservice1"
conf = {
"dfs.nameservices":"nameservice1",
......
}
hdfs = HDFileSystem(host = host, pars = conf)
......
返回pandas的DataFrame型別。