我如何使用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-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())

以上是关于我如何使用Python API Pydoop得到Hadoop集群中的实际数据(地图后减少)?的主要内容,如果未能解决你的问题,请参考以下文章

Pydoop mapreduce“AttributeError:module'wordcount_minimal'没有属性'__main__'”

如何防止 Python 打印添加换行符或空格? [复制]

Pydoop mapreduce“AttributeError:模块'wordcount_minimal'没有属性'__main__'”

如何在python中为Hadoop Map Reduce作业编写组合器和分区器?我如何在Hadoop Job中调用它

如何使用Python格式化Hubspot API的日期值

如何使用 PyList 在 Python C API 扩展中返回整数列表?