載入包
from hdfs.client import client
self.filename = "/user/hdfs/read.txt"
讀取hdfs檔案內容,將每行存入陣列返回def read_hdfs_file(self):
# with client.read('samples.csv', encoding='utf-8', delimiter='\n') as reader:
# for line in reader:
# pass
lines =
with self.client.read(self.filename, encoding='utf-8', delimiter='\n') as reader:
for line in reader:
# pass
# print line.strip()
return lines
# 建立目錄def mkdirs(self, hdfs_path):
self.client.makedirs(hdfs_path)
刪除hdfs檔案def delete_hdfs_file(self,hdfs_path):
self.client.delete(hdfs_path)
上傳檔案到hdfsdef put_to_hdfs(self, local_path, hdfs_path):
self.client.upload(hdfs_path, local_path, cleanup=true)
從hdfs獲取檔案到本地def get_from_hdfs(self, hdfs_path, local_path):
self.client.download(hdfs_path, local_path, overwrite=false)
追加資料到hdfs檔案
覆蓋資料寫到hdfs檔案
def write_to_hdfs(self, hdfs_path, data):
# 移動或者修改檔案def move_or_rename(self,hdfs_src_path, hdfs_dst_path):
self.client.rename(hdfs_src_path, hdfs_dst_path)
# 返回目錄下的檔案def list(self,hdfs_path):
return self.client.list(hdfs_path, status=false)
HDFS讀取資料的流程
1 客戶端通過呼叫filesystem物件的open 來讀取希望開啟的檔案。2 client向namenode發起rpc請求,來確定請求檔案block所在的位置 3 namenode會視情況返回檔案的部分或者全部block列表,對於每個block,namenode 都會返回含有該 block 副本的...
python讀取hdfs並返回dataframe
不多說,直接上 filename tmp preprocess part 00000 hdfs檔案路徑 columnnames xx def readhdfs 讀取hdfs檔案 returns df dataframe hdfs資料 client client hdfshost 目前讀取hdfs檔案...
python讀取hdfs上的parquet檔案方式
在使用python做大資料和機器學習處理過程中,首先需要讀取hdfs資料,對於常用格式資料一般比較容易讀取,parquet略微特殊。從hdfs上使用python獲取parquet格式資料的方法 當然也可以先把檔案拉到本地再讀取也可以 1 安裝anaconda環境。2 安裝hdfs3。conda in...