问题标签 [mrjob]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3138 浏览

python - 如何优化这个 MapReduce 函数,Python,mrjob

我对 Map/Reduce 原则和 python mrjob 框架非常陌生,我编写了这个示例代码,它运行良好,但我想知道我可以在其中进行哪些更改以使其“完美”/更高效。

0 投票
2 回答
748 浏览

python - 从 MrJob 访问分布式缓存

我正在使用 MrJob 编写 hadoop 应用程序。我需要使用分布式缓存来访问一些文件。我知道 hadoop 流中有一个选项 -files 但不知道如何在程序中访问它。

谢谢你的帮助。

0 投票
2 回答
1506 浏览

python - MRJOB 打开 JSON 文件 - Python

我正在尝试加载一个 json 文件作为映射器函数的一部分,但它返回“目录中没有此类文件”,尽管该文件存在。

我已经打开一个文件并解析它的行。但是想将它的一些值与第二个 JSON 文件进行比较。

0 投票
1 回答
609 浏览

python - MRJob - Python - 当除法为 0/值时如何返回 null

如何修改此代码,以便当 senti_avg 不可整除(0/值)时,reducer() 输出 NULL 或 NONE 而不是崩溃?

0 投票
1 回答
138 浏览

mrjob - mrJob 运行后如何取消它?^C 不起作用

有没有一种简单的方法可以使 mrJob 脚本可中断?非常简单的问题,但它对调试有很大的不同。我主要对取消仅 python 的测试作业感兴趣,因为这是大多数调试发生的地方。

0 投票
1 回答
1490 浏览

mrjob - mrjob:抑制减速器输出中的键(或值)

默认情况下,mrJob 以 key[tab] 输出格式存储输出中的键和值。

即使键(或值)为空、null 或不感兴趣也会发生这种情况。假设我的键值对是 None, {"a":1", "b":1}。然后我得到这个:

有没有办法抑制键或值?我只想要这个:

顺便说一句,我已经尝试过了。我错过了什么……?

注意:我知道我不需要为单步作业覆盖步骤。这最终将是一个多步骤的工作,因此以这种方式构建类很重要。

谢谢!

0 投票
3 回答
1730 浏览

python - 如何将 EMR 流作业的输出写入 HDFS?

我看到人们将 EMR 输出写入 HDFS 的示例,但我无法找到它是如何完成的示例。最重要的是,该文档似乎说 EMR 流作业的 --output 参数必须是 S3 存储桶。

当我实际尝试运行脚本时(在本例中,使用 python 流和 mrJob),它会引发“Invalid S3 URI”错误。

这是命令:

和追溯...

如何将 EMR 流作业的输出写入 HDFS?甚至可能吗?

0 投票
1 回答
1306 浏览

python - 如何使用 s3 对象名称作为 MRJob 映射器的输入,而不是 s3 对象本身?

我遗漏了一些关于 Yelp 的mrjob 工作库的明显内容。设置一个 MRJob 类几乎是非常简单的。在文件或标准输入上运行它也是如此。但是,如何将作业的输入从本地或 s3 中的文件更改为 s3 存储桶中的键?

像这样的东西。假设我想计算我的 S3 存储桶中以字符串 'foo' 开头的所有对象:

这是一个非常人为的例子,但你可能明白我的意思。如何告诉 MRJob 对 s3 对象流进行操作,而忽略对象的内容?我看到了 S3Filesystem.get_s3_keys()方法,它让我得到了我需要的流,但我不确定从那里去哪里。

0 投票
1 回答
548 浏览

mrjob - 本地 MRJobs 的输入文件

我正在使用 wordcount 示例在笔记本电脑上学习/测试 mrjobs。

我能够在命令模式下提供一个本地文件作为输入,但不知道如何在 python 脚本中做同样的事情。

非常感谢一个简单的例子。

谢谢阿南特

0 投票
2 回答
349 浏览

python - 在每个映射器之间共享特定数据

我想添加一个特定的记录子集以与每个映射器的每个记录块合并,我通常如何在 Hadoop 中执行此操作?在 Python 流包 mrJob 中?