gpt4 book ai didi

python - MRJob确定是运行内联,本地,emr还是Hadoop

转载 作者:行者123 更新时间:2023-12-02 21:23:16 26 4
gpt4 key购买 nike

我是使用MRJob的EMR的building on some old code from a few years back using the commoncrawl dataset。该代码使用以下内部MRJob子类映射器函数确定是在本地运行还是在emr上运行:

self.options.runner == 'emr'

这似乎从未起作用或不再起作用,self.options.runner不会传递给任务,因此始终设置为 'inline'的默认值。问题是,是否有办法确定代码是在本地运行还是在当前版本的MRJob(v0.5.0)上的emr上运行。

最佳答案

我找到了一个解决方案,但如果有人知道,我仍在寻找内置解决方案。 You can add a custom passthrough option that gets passed to your tasks,看起来像这样:

class CCJob(MRJob):

def configure_options(self):
super(CCJob, self).configure_options()
self.add_passthrough_option(
'--platform', default='local', choices=['local', 'remote'],
help="indicate running remotely")

def mapper(self, _, line):
if self.options.platform == 'remote':
pass

并且在远程运行时必须传递 --platform remote

关于python - MRJob确定是运行内联,本地,emr还是Hadoop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36812684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com