我如何使用Python API Pydoop得到Hadoop集群中的实际数据(地图后减少)?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何使用Python API Pydoop得到Hadoop集群中的实际数据(地图后减少)?相关的知识,希望对你有一定的参考价值。
我使用一个Python API(pydoop)映射减少HDFS文件,但我想知道我可以使用pydoop或使用python任何其他技术获取原始数据。
答案
MapReduce应用(或者与Pydoop或通过标准的Hadoop的Java API运行)写自己在用户指定的目录输出,为每个创建一个文件(在地图只有作业的特殊情况或一个每个地图的任务)减少任务:part-r-00000
,part-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())
以上是关于我如何使用Python API Pydoop得到Hadoop集群中的实际数据(地图后减少)?的主要内容,如果未能解决你的问题,请参考以下文章
Pydoop mapreduce“AttributeError:module'wordcount_minimal'没有属性'__main__'”
Pydoop mapreduce“AttributeError:模块'wordcount_minimal'没有属性'__main__'”