问题标签 [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.
python - 使用 hadoop 流和 mrjob 运行作业:PipeMapRed.waitOutputThreads(): subprocess failed with code 1
嘿,我对大数据世界还很陌生。我在 http://musicmachinery.com/2011/09/04/how-to-process-a-million-songs-in-20-minutes/上看到了这个教程
它详细描述了如何在本地和 Elastic Map Reduce 上使用 mrjob 运行 MapReduce 作业。
好吧,我正在尝试在我自己的 Hadoop 集群上运行它。我使用以下命令运行了这项工作。
这就是我得到的:
注意:正如我在其他一些论坛中所建议的那样
在我的 python 文件 density.py 和 track.py 的开头。它似乎对大多数人都有效,但我仍然继续得到上述异常。
编辑:我包含了原始 density.py 中使用的函数之一的定义,该函数在 density.py 本身的另一个文件 track.py 中定义。作业成功运行。但是,如果有人知道为什么会这样,那真的很有帮助。
python - python mrjob - gaierror:[Errno -2] 名称或服务未知
我正在尝试从 mrjob 模块访问 s3 文件。这是失败的代码:
(但使用实际的 aws_access_key_id、aws_secret_access_key、存储桶和文件夹),我得到的错误是:
有什么建议么?谢谢!
python - EMR 上的 Python 依赖管理
我正在通过 mrjob/boto 模块向亚马逊的 EMR 发送代码。我有一些外部 python 依赖项(即 numpy、boto 等),目前必须下载 python 包的源代码,并将它们作为 tarball 发送到 mrjob.config 文件的“python_archives”字段中。
这使得依赖管理比我想要的更混乱,我想知道我是否可以以某种方式使用我用于我的 virtualenv 设置的相同 requirements.txt 文件来引导带有我的依赖项的 emr 实例。是否可以在 EMR 实例上设置 virtualenv 并执行以下操作:
就像我在当地一样?
python - 弹性地图减少错误
使用 Elastic Map Reduce 时出现错误,我不确定这意味着什么,因为它的描述性不强。我想具体知道我得到什么样的 JSONDecodeError。“12”不是描述性的。这是输出。我正在使用 MRjob 类
python - 在MRjob中将参数传递给reducer
我正在使用 MRjob 在我们的 HBase 实例上运行 Hadoop Streaming 作业。对于我的生活,我无法弄清楚如何将参数传递给我的减速器。我有两个参数要在运行作业时传递给减速器:startDate 和 endDate。这是我目前的减速器的样子:
我似乎无法将 startDate 和 endDate 作为参数传递给我的减速器。我可以获取参数的唯一方法是通过类顶部的全局变量。
但这很脏。我想通过调用工作来传递它。我试过很多方法。将其设置为实例变量,将其设置为静态类变量,为 MRDataQualityJob 创建重载构造函数......似乎没有任何效果。我以编程方式从我的顶级脚本中调用它,如下所示:
无论我对 mrdq_job 实例做什么,似乎 runner.run() 正在使用该类的新实例,该实例没有定义实例或静态变量。我怎样才能将我的参数传递给减速器????我可以通过传递一个字符串在常规 Hadoop Streaming 中做到这一点:“--reducer reducer.py arg1 arg2”。MRjob有什么等价物吗?
python - 如何创建一个hadoop runner?
我有以下简单的mrjob
脚本,它逐行读取一个大文件,对每一行执行一个操作并打印输出:
(这只是一个玩具示例;在我的实际情况下,处理每一行都很昂贵,这就是我想运行分布式的原因。)
它仅作为本地进程工作。如果我尝试使用'-r', 'hadoop'
(参见上面的注释),我会收到以下奇怪的错误:
我怎样才能在hadoop上实际运行它,即创建一个HadoopJobRunner
?
python - 使用 mrjob 处理 LZO 序列文件
我正在使用 mrjob 编写任务,以使用 Google Ngrams 数据计算各种统计数据:https ://aws.amazon.com/datasets/8172056142375670
我使用制表符分隔文本中未压缩的数据子集在本地开发和测试了我的脚本。一旦我尝试运行该作业,我就会收到此错误:
这大概是因为公共数据集的压缩方案(来自上面的 URL 链接):
我们将数据集存储在 Amazon S3 中的单个对象中。该文件是具有块级 LZO 压缩的序列文件格式。序列文件键是存储为 LongWritable 的数据集的行号,值是存储为 TextWritable 的原始数据。
有关如何设置可以处理这些文件的工作流的任何指导?我已经详尽地搜索了提示,但没有找到任何有用的...
(我是 mrjob 和 Hadoop 的相对 n00b。)
python - 如何将数据文件包含到 EMR 上的 mrjob 中?
我正在尝试在亚马逊的 EMR 上运行 mrjob。我已经使用内联运行器在本地测试了该作业,但在 Amazon 上运行时它失败了。我已将失败缩小到我对外部数据文件的依赖zip_codes.txt
。如果我使用硬编码的邮政编码数据在没有这种依赖关系的情况下运行,它就可以正常工作。
我尝试使用上传文件参数包含必要的数据文件。当我查看 S3 时,该文件确实存在,但显然出现了问题,因此我无法在本地访问它。
这是我的mrjob.conf
文件:
这是我的MR_zip.py
文件。
最后,我使用以下命令运行它:
其中 zip_codes.txt 看起来像:
poi.txt 看起来像:
python - 为什么 mrjob Python 程序中的 main 语句只接受一行代码?
我想知道一个 mrjob 程序运行了多长时间。但是,unindent does not match any outer indentation level
如果我在time.time()
before 和 after中输入,我会得到一个错误MRWord.run()
,并且我找不到任何关于此的文档。我错过了什么?
python - 如何使用 mrjob mapper reducer 在 Python 中编写迭代,其中计数器是循环中计算的一部分?
我有一个程序可以n
连续迭代映射器和减速器时间。但是,对于每次迭代,每个键值对的映射器都会计算一个取决于 的值n
。
我定义了一个两步映射器减速器,这样第一个定义了一个类变量,self.count
. 程序产生错误,AttributeError: 'MRWord' object has no attribute 'count'
. 似乎每个步骤都定义了一个独立的 mrjob 类对象,并且该变量不能共享。还有另一种方法可以做到这一点吗?