问题标签 [hadoop-streaming]

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 回答
742 浏览

hadoop - hadoop中的文件拆分/分区

在 hadoop 文件系统中,我有两个文件,分别是 X 和 Y。通常,hadoop 会生成大小为 64 MB 的文件 X 和 Y 块。是否可以强制 hadoop 划分两个文件,以便从 X 的 32 MB 和 Y 的 32 MB 创建一个 64 MB 的块。换句话说,是否可以覆盖文件分区的默认行为?

0 投票
1 回答
786 浏览

hadoop - 如何将自定义 hadoop 本机编解码器编译为 libhadoop.so?

我写了一个原生 hadoop 压缩编解码器。为了让它与 hadoop 一起工作,我需要将本机(C 代码)编译为 libhadoop.so。

我怎样才能做到这一点?

0 投票
1 回答
504 浏览

hadoop - Hadoop Streaming 任务失败

我有一个用 C++ 编写的相对简单的程序,我一直在使用 Hadoop Streaming 进行 MapReduce 作业(我的 Hadoop 版本是 Cloudera)。

最近,我发现很多流式任务在最后成功完成时一直失败并被任务跟踪器重新启动。我跟踪了用户日志,似乎一些 MapReduce 任务的输入为零。具体来说,错误消息如下所示:

有时错误率非常高(接近 50%)。我不认为这是正常的。有人知道吗

a) 发生了什么事?

b)我该如何解决?

谢谢

0 投票
1 回答
96 浏览

ruby - 如何使用 hadoop 流和 ruby​​ mappers/reducers 设置分布式 map-reduce 作业?

我能够运行使用 ruby​​ 和输入文件构建的本地映射器和减速器。

不过,我不清楚分布式系统的行为。

对于生产系统,我在两台机器上设置了 HDFS。我知道如果我在 HDFS 上存储一个大文件,它会在两台机器上都有一些块以允许并行化。我是否还需要在 HDFS 上存储实际的映射器和减速器文件(在这种情况下是我的 ruby​​ 文件)?

另外,我将如何实际运行流式作业,以便它在两个系统上以并行方式运行?

0 投票
2 回答
1158 浏览

hadoop - 在 hive 和 hadoop 流式 API 输出之间共享数据

我有几个hadoop流API程序并使用以下输出格式生成输出:“org.apache.hadoop.mapred.SequenceFileOutputFormat”并且流API程序可以读取输入格式为“org.apache.hadoop.mapred.SequenceFileAsTextInputFormat”的文件。

输出文件中的数据如下所示。

现在我想用 hive 读取输出。我用这个脚本创建了一个表:

当我用查询查询数据时

结果将是

似乎第一列已被忽略。我认为 hive 只是使用值作为输出而不是键。有任何想法吗?

0 投票
3 回答
691 浏览

python - 如何从行为类似于标准管道的两个命令中创建一个 linux shell 命令?

我正在尝试使用 Hadoop Streaming 来运行两个命令,gunzip | map_to_old_format.py例如美好的)。

由于我不知道如何即时在 Python 中进行 gunzip,因此我想创建一个 shell 脚本来为我执行此命令组合(例如gunzip_and_map_to_old.sh)。我尝试了以下方法,但 gzip 不喜欢(gzip 抱怨“gzip:stdin:不是 gzip 格式”):

关于 python gunzip,我尝试了这里f = gzip.GzipFile("", "rb", fileobj=sys.stdin)描述的 Wrapper 方法。

0 投票
1 回答
694 浏览

java - 使用 HBase 获取数据以使用 Mahout 计算文本相似度

在我的项目中,我们试图计算我面临两个问题的一组文档的文本相似度。

  1. 我不想重新计算我之前计算过的文档的词频。例如,我有 10 个文档,我计算了所有 10 个文档的词频和逆文档频率。然后我又得到了 2 个文件。现在我不想计算已经存在的 10 个文档的词频,而是想计算新出现的 2 个文档的 TF,然后将 TF 用于所有 12 个文档,并将 12 个文档的 IDF 计算为所有的。 如何在不重新计算现有文档的 TF 的情况下计算所有文档的 IDF?

  2. 文档的数量可能会增加,这意味着使用内存中的方法 (InMemoryBayesDatastore) 可能会变得很麻烦。我想要的是将所有文档的 TF 保存在 HBASE 表中,当新文档到达时,我计算新文档的 TF,将它们保存在 HBASE 表中,然后我使用这个 HBASE 表来获取所有文档的 TF用于计算 IDF 的文档。 如何使用 HBase 向 Mahout 的 Text Similarity 提供数据,而不是从序列文件中获取数据?

0 投票
2 回答
162 浏览

hadoop - hadoop 流式获取最佳插槽数

我有一个流式 map-reduce 工作。我有大约 30 个插槽用于处理。最初我得到一个包含 60 条记录的输入文件(字段以制表符分隔),每条记录的第一个字段是一个数字,第一个记录号(第一个字段)是 1,第二个记录号(第一个字段)是 2,依此类推. 我想从这些记录中创建 30 个文件以进行下一步处理,每个文件都包含 2 条记录(均匀分布)。

为此,我将 hadoop 作业的 reducer 数量指定为 30。我预计第一个字段将用作键,我将获得 30 个输出文件,每个输出文件包含 2 条记录。

我确实得到了 30 个输出文件,但并非所有文件都包含相同数量的记录。有些文件甚至是空的(零大小)。任何想法

0 投票
4 回答
13073 浏览

python - # of failed Map Tasks 超出了允许的限制

我正在尝试使用 Python 处理 Hadoop 流。我通过从这里获得帮助编写了简单的 map 和 reduce 脚本

map脚本如下:

脚本reduce如下:

使用 hadoop 流 jar 运行这些脚本后,map任务完成,我可以看到它们 100% 完成,但reduce工作卡在 22%,并且在很长一段时间后它给出了ERROR streaming.StreamJob: Job not successful. Error: # of failed Map Tasks exceeded allowed limit. FailedCount: 1.错误。

我无法找出这背后的确切原因。

我的终端窗口如下所示:

谁能帮帮我吗??

编辑 作业跟踪器详细信息如下:

0 投票
2 回答
3129 浏览

hadoop - 蜂巢中 ORDER BY 的替代方案

通过在 hive 中使用 ORDER BY,它只使用单个 reducer。所以 ORDER BY 是低效的。是否有可用于 ORDER BY 的替代解决方案。

问候, 拉托