Приложения MapReduce (запускаемые либо с Pydoop, либо через стандартный Java-API Hadoop) записывают свои выходные данные в указанный пользователем каталог, создавая один файл для каждой задачи сокращения (или по одному на задачу карты в особом случае заданий только для карт).): part-r-00000
, part-r-00001
и т. Д. Вы можете искать эти файлы и читать их содержимое с помощью HDFS API Pydoop:
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())