- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我正在尝试使用 hadoop 集群和 MRJob 运行 python 作业,我的包装器脚本如下:
#!/bin/bash
. /etc/profile
module load use.own
module load python/python2.7
module load python/mrjob
python path_to_python-script/mr_word_freq_count.py path_to_input_file/input.txt -r hadoop `> path_to_output_file/output.txt #note the output file already exists before I submit the job`
所以一旦我使用 qsub myscript.sh 将此脚本提交到集群
我得到两个文件一个输出文件和一个错误文件:
错误文件内容如下:
no configs found; falling back on auto-configuration
no configs found; falling back on auto-configuration
Traceback (most recent call last):
File "homefolder/privatemodules/python/examples/mr_word_freq_count.py", line 37, in <module>
MRWordFreqCount.run()
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/job.py", line 500, in run
mr_job.execute()
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/job.py", line 518, in execute
super(MRJob, self).execute()
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/launch.py", line 146, in execute
self.run_job()
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/launch.py", line 206, in run_job
with self.make_runner() as runner:
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/job.py", line 541, in make_runner
return super(MRJob, self).make_runner()
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/launch.py", line 164, in make_runner
return HadoopJobRunner(**self.hadoop_job_runner_kwargs())
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/hadoop.py", line 179, in __init__
super(HadoopJobRunner, self).__init__(**kwargs)
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/runner.py", line 352, in __init__
self._opts = self.OPTION_STORE_CLASS(self.alias, opts, conf_paths)
File "/homefolder/.local/lib/python2.7/site-packages/mrjob/hadoop.py", line 132, in __init__
'you must set $HADOOP_HOME, or pass in hadoop_home explicitly')
Exception: you must set $HADOOP_HOME, or pass in hadoop_home explicitly
第一个问题我如何找到$HADOOP HOME?当我执行 echo $HADOOP_HOME 时,没有打印任何内容,这意味着它没有设置。因此,即使我必须设置它,我必须将它设置为什么路径?是否应该设置为Hadoop name_node在集群中的路径?
第二个问题“未找到配置”错误表示什么?它是否与未设置 $HADOOP_HOME 有关,或者它是否期望显式传入一些其他配置文件?
非常感谢任何帮助。
提前致谢!
最佳答案
首先,$HADOOP_HOME
应该设置为你机器的本地hadoop安装路径,几乎所有的hadoop应用程序都假设$HADOOP_HOME/bin/hadoop
是 hadoop 可执行文件。所以如果你在系统默认路径安装你的hadoop,你应该export HADOOP_HOME=/usr/
,否则你应该export HADOOP_HOME=/path/to/hadoop
其次,您可以为 mrjob 提供特定的配置,如果没有,mrjob 将使用自动配置。在大多数情况下,提供 HADOOP_HOME
并使用自动配置就可以了,对于高级用户,请参阅 http://pythonhosted.org/mrjob/guides/configs-basics.html
关于python - 在 hadoop 集群上运行时出现 MRJob 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20589431/
我尝试从 mrjob 中的映射器输出 python 集。我相应地更改了组合器和 reducer 的函数签名。 但是,我收到此错误: Counters From Step 1 Unencodable o
默认情况下,mrJob 以 key[tab] 输出格式存储输出中的键和值。 即使键(或值)为空、null 或其他不感兴趣的情况,也会发生这种情况。假设我的键值对是 None, {"a":1", "b"
我正在尝试更好地理解 mrjob 的示例 from mrjob.job import MRJob class MRWordFrequencyCount(MRJob): def mapper(
我正在尝试预处理 XML 文件以在放入 mapreduce 之前提取某些节点。我有以下代码: from mrjob.compat import jobconf_from_env from mrjob.
我正在使用 cloudera 虚拟机。这是我的文件结构: [cloudera@quickstart pydoop]$ hdfs dfs -ls -R /input drwxr-xr-x - clo
显示多步 map reduce 作业执行时间的最佳方式是什么? 我试图在工作的step1 的mapper init 中设置一个self 变量 def mapper_init_timer(sel
我正在尝试学习将 Yelp 的 Python API 用于 MapReduce、MRJob。他们的简单单词计数器示例很有意义,但我很好奇人们将如何处理涉及多个输入的应用程序。例如,不是简单地计算文档中
如何在 mrjob 的 reducer 或映射器中放置调试语句(如打印)。如果我尝试使用 print 或 sys.stderr.write(),我会收到一个错误 TypeError: a bytes-
我使用 hadoop 流式传输的 mrjob 失败。我在 oracle vm 上有一个带有 python 模块 mrjob 的 hadoop 沙箱。 需要按照 Hadoop Error: Error
我是 map reduce 的新手,我正在尝试使用 mrjob 运行 map reduce 作业python包。但是,我遇到了这个错误: ERROR:mrjob.launch:Step 1 of 1
如果我对 MRJob 的理解正确,你可以通过运行 MRJob 来模拟 hadoop 的多进程运行 python mrfile.py -r local input.txt 我正在运行 Windows(现
我一直在尝试修改给定的 mapper_pre_filter 示例 here .现在,如果我不直接在步骤中指定命令,而是编写一个返回该命令的方法,如下所示: from mrjob.job import
我正在尝试在 EMR 集群中运行示例 mrjob。我已在 AWS 仪表板中手动创建 EMR 集群并启动 mrjob,如下所示 python keywords.py -r emr s3://common
我正在尝试通过三个步骤来实现映射缩减作业,并且在每个步骤之后我都需要迄今为止所有步骤的数据。有谁有关于如何在 mrjob 中将映射器或 reducer 的结果保存到磁盘的示例/想法? 最佳答案 您可以
我对 Map/Reduce 原理和 python mrjob 框架还很陌生,我写了这个示例代码,它工作正常,但我想知道我可以改变它什么以使其“完美”/更高效. from mrjob.job impor
我正在使用 MrJob 编写 hadoop 应用程序。我需要使用分布式缓存来访问一些文件。我知道 hadoop 流中有一个选项 -files 但不知道如何在程序中访问它。 感谢您的帮助。 最佳答案 我
我正在使用 mrjob 处理一批文件并获取一些统计信息。我知道我可以在单个文件上运行 mapreduce 作业,例如 python count.py output 但是我怎样才能将文件目录提供给脚本
有没有办法使用mrjob对reducer函数的输出进行排序? 我认为 reducer 函数的输入是按键排序的,我尝试利用此功能使用另一个 reducer 对输出进行排序,如下所示,我知道值具有数值,我
场景是我需要处理一个文件(输入),对于每条记录,我需要检查输入文件中的某些字段是否与存储在 Hadoop 集群中的字段匹配。 我们正在考虑使用 MRJob 处理输入文件并使用 HIVE 从 hadoo
我想这样索引化简的结果: 1 "EZmocAborM6z66rTzeZxzQ" 2 "FIk4lQQu1eTe2EpzQ4xhBA" 3 "myql3o3x22_ygECb8gVo7A"
我是一名优秀的程序员,十分优秀!