1. 程式人生 > >python讀取hdfs上的parquet檔案

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型別。