我正在使用pythonapi(pydoop)Mapreduce hdfs文件,但是我想知道如何使用pydoop或任何其他使用python的技术检索原始数据。
wj8zmpe11#
mapreduce应用程序(使用pydoop或通过标准hadoop java api运行)将其输出写入用户指定的目录,为每个reduce任务创建一个文件(或在仅Map作业的特殊情况下,为每个Map任务创建一个文件): part-r-00000 , part-r-00001 ,等等。您可以使用pydoop的hdfs api查找这些文件并读取其内容:
part-r-00000
part-r-00001
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())
1条答案
按热度按时间wj8zmpe11#
mapreduce应用程序(使用pydoop或通过标准hadoop java api运行)将其输出写入用户指定的目录,为每个reduce任务创建一个文件(或在仅Map作业的特殊情况下,为每个Map任务创建一个文件):
part-r-00000
,part-r-00001
,等等。您可以使用pydoop的hdfs api查找这些文件并读取其内容: