问题标签 [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 投票
2 回答
15528 浏览

java - Hadoop:作业在较小的数据集上运行良好,但在大型数据集上失败

我有以下情况

我有 3 台机器集群,配置如下。

Master

Slave 01

Slave 02

hadoop/conf/core-site.xml

hadoop/conf/mapred-site.xml

hadoop/conf/hdfs-site.xml

  • 我有超过 200 万个 XML 文档(每个文档大小 ~ 400 KB)
  • map任务打开这些xml中的每一个并将它们作为JSON
  • reduce任务将这些中的每一个都JSON作为字符串,应用转换并发出它
  • 不。任务- map100
  • 不。任务- reduce01
  • 整个工作运行良好时number of documents = 10,000
  • 什么时候number of documents = 278262,作业失败,我看到以下各种问题

在网页界面上

在 slave-01、slave-02 上

在主人


当我去检查登录时slaves,这就是我发现的hadoop-hduser-datanode-hadoop-01.log

请帮助我了解我需要做什么才能解决此问题?

0 投票
2 回答
194 浏览

hadoop - 无法标记文件数据

我是hadoop和mapreduce的新手。在映射器中,我将使用以下给定格式对文本文件中的这些数据进行标记,前几行

使用 String Tokenizer 我无法拆分这些数据,它让机器从这个文件中捕获数据感到困惑。除了 String.split() 之外,这个问题还有其他选择吗

0 投票
2 回答
1154 浏览

hadoop - 如何在 Hadoop 中只识别大小写?

我是hadoop mapreduce的新手。我想开发mapreduce代码以将文件文本转换为小写。但是与文件中前面的序列一样。这意味着文件的实际顺序而不是类似于字数数据序列。所以有什么能给我的想法吗?

0 投票
1 回答
200 浏览

hadoop - 错误:失败的地图任务数超出了允许的限制。FailedCount: 1. 关于在 Hadoop 上运行 Lucene 搜索

我使用一个大文本文件中的每条记录对 Lucene 的索引执行搜索,然后根据我的需要处理结果并写入输出。

我试图通过将大输入文本文件和预先创建的 Lucene 索引放到 Hadoop 的文件系统中来使用 Hadoop。然后我更改了执行文件处理(读取文件记录、在 Lucene 上搜索、写入输出)的 java 程序,以从 Hadoop 文件系统读取记录,并在内存中创建 Lucene 索引。我启动 Hadoop 作业的命令如下:

请注意,“concept.jar”包含 concept.HadoopConceptRunner 类,这是由我编写的。

我的问题是我无法让这个 Hadoop 作业正确运行 =.="。我遇到了如下异常,我找不到任何其他有意义的东西可以帮助我解决这个问题。

我该如何解决这个错误?

0 投票
2 回答
1447 浏览

python - hadoop-streaming:当 mapred.reduce.tasks=1 时,reducer 似乎没有运行

我正在运行一个基本Map Reduce程序hadoop-streaming

看起来Map

我运行它

我在Hadoop in Action中读到,mapred.reduce.tasks=1

由于我们没有指定任何特定的 reducer,它将使用默认的 IdentityReducer。顾名思义,IdentityReducer 将其输入直接传递给输出。

当我看到我的控制台时,我看到了

它没有任何进展,只是继续运行。它似乎不起作用,我该如何解决这个问题?

更新

  • D mapred.reduce.tasks=0 我看到两个文件part-00000并且part-00001两个文件都有一行 0

  • 何时D mapred.reduce.tasks=1-reduce 'cat' 行为与 reduce 没有做任何事情一样

  • 当我跑步时,cat file | python AttibuteMax.py 8
    我得到 868

这意味着D mapred.reduce.tasks=0并且cat file | python AttributeMax.py 8也没有产生相同的输出(但它们应该,对吗?)

当输入数据也相同时,会导致行为差异的原因是什么?

更新 1

  • D mapred.reduce.tasks=0 我看到 4 个文件part-00000, part-00001,part-00002part-00002单行 268, 706, 348, 868
  • 当我运行时,$ cat ~/Downloads/hadoop/input/apat63_99.txt | python ../../../src/main/python_scripts/AttributeMax.py 8 | cat 我确实看到所需的输出为868
0 投票
3 回答
599 浏览

ruby - 使用 RVM 的 Hadoop Streaming 找不到 Gem

原始问题(下面的长版本)。短版:使用 ruby​​ 脚本作为映射器运行 ​​hadoop 流,并在所有集群节点上安装 rvm 不起作用。因为hadoop启动的shell不知道ruby(并且没有正确加载rvm)。为什么?


我想wukong用作一个 gem 来为 hadoop 创建 map/reduce 作业。问题是wukonghadoop无法加载gem(即找不到)。Hadoop 作业向我显示以下错误:

但是,cat somefile | ./test.rb --map按预期在所有集群机器上运行。我还在我的测试文件中包含了一些调试打印,我可以在 hadoop 日志中检索它们。跑步时

它产生所有的宝石wukong,包括

$LOAD_PATH产生与打印运行本地(不是由 hadoop 启动)ruby 脚本时相同的路径。

为什么 hadoop 启动的 ruby​​ 脚本找不到明确安装并正常工作的 gem?


hadoop 启动为:

0 投票
1 回答
394 浏览

hadoop - Hadoop数据拆分和数据流控制

对于将 hadoop 作为存储系统,我有 2 个问题。

  1. 我有一个包含 3 个数据节点的 hadoop 集群,我想将一个大小为 128mb 的大文件(假设拆分大小为 64mb )直接拆分到我选择的数据节点。这就是在这种情况下如何控制哪个拆分到哪个 DataNode。我的意思是说我们有 3 个数据节点(即 D1、D2、D3)并且我们想要特定的拆分(比如说“A”),我希望它移动到特定的数据节点让它成为 D2。

    我们应该怎么做 ?

  2. hadoop 文件系统的最小可能拆分大小是多少。我们如何将其配置为最小的拆分大小。

0 投票
2 回答
3396 浏览

python - Amazon Elastic MapReduce - SIGTERM

我有一个 EMR 流作业 (Python),它通常工作正常(例如 10 台机器处理 200 个输入)。但是,当我针对大型数据集(12 台机器处理总共 6000 个输入,每个输入大约 20 秒)运行它时,经过 2.5 小时的运算后,我收到以下错误:

如果我没看错,则子进程失败并显示代码 143,因为有人向流式作业发送了 SIGTERM 信号。

我的理解正确吗?如果是这样:EMR 基础设施何时会发送 SIGTERM?

0 投票
1 回答
304 浏览

join - Map-side join 与 Hadoop Streaming

我有一个文件,其中每一行都是一条记录。我希望某个字段中具有相同值的所有记录(如果字段 A 则调用)转到同一个映射器。我听说这被称为 Map-Side Join,我还听说如果文件中的记录按我所说的字段 A 排序很容易。

如果更容易,数据可以分布在多个文件中,但每个文件都按字段 A 排序。

这是正确的吗?我如何在流媒体中做到这一点?我正在使用 Python。假设它只是我用来启动 Hadoop 的命令的一部分?

0 投票
2 回答
73 浏览

azure - 访问 Hadoop 的原始数据

我正在查看 data.seattle.gov 数据集,我想知道如何将所有这些大型原始数据发送到 hadoop 集群。我在 azure 上使用 hadoop。