簡體   English   中英

如何使用python API Pydoop從Hadoop集群中獲取實際數據(在縮小地圖后)?

[英]How do I get the actual data from Hadoop cluster (after map reducing) using the python API Pydoop?

我正在使用python API(pydoop)來映射減少HDFS文件,但我想知道如何使用pydoop或使用python的任何其他技術來檢索原始數據。

MapReduce應用(或者與Pydoop或通過標准的Hadoop的Java API運行)寫自己在用戶指定的目錄輸出,為每個創建一個文件(在地圖只有作業的特殊情況或一個每個地圖的任務)減少任務: part-r-00000part-r-00001等。您可以使用Pydoop的HDFS API查找這些文件並讀取其內容:

import pydoop.hdfs as hdfs

MR_OUT_DIR = "hdfs://localhost:9000/user/foo/mr_output"

data = []
for path in hdfs.ls(MR_OUT_DIR):
    if hdfs.path.basename(path).startswith("part-"):
        with hdfs.open(path) as f:
            data.append(f.read())

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM