问题标签 [hadoop]

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

sql - 在 Hadoop MapReduce 中缓存地图应用程序?

从数据流的角度来看 MapReduce 和 HBase 的组合,我的问题似乎很合适。我有大量文档要映射、合并和缩减。我之前的 SQL 实现是将任务拆分为批处理操作,将 Map 的结果累积存储到表中,然后执行相当于 reduce 的操作。这样做的好处是,在执行期间(或执行之间)的任何时候,我都可以在那个时间点获得 Map 的结果。

据我了解,将此作业作为 MapReduce 运行需要每次运行所有 Map 函数。

我的 Map 函数(实际上是任何函数)总是为给定的输入提供相同的输出。如果我不需要,重新计算输出根本没有意义。我的输入(一组文档)将不断增长,我将定期对数据运行 MapReduce 操作。在执行之间,我应该只需要为新添加的文档计算 Map 函数。

我的数据可能是 HBase -> MapReduce -> HBase。鉴于 Hadoop 是一个完整的生态系统,它可能能够知道给定函数已应用于具有给定标识的行。我假设 HBase 表中的条目是不可变的。Hadoop 是否/可以考虑到这一点?

我从文档(尤其是 Cloudera 视频)中了解到,重新计算(潜在冗余数据)可能比针对 Hadoop 正在用于处理的问题类别进行持久化和检索更快。

有什么意见/答案吗?

0 投票
3 回答
2569 浏览

python - MapReduce、Python 和 NetworkX

我已经为我使用 NetworkX 在 Python 中构建的图实现了一个未加权的随机游走函数。下面是我处理随机游走的程序片段。在我的程序的其他地方,我有一个创建图形的方法,并且我有一个模拟我编写的各种自定义图形测试方法的方法。其中一种图测试方法从图中随机选择两个节点,并在它们之间运行随机游走。从这个 Random Walk 计算的两件事是命中时间(从起点到终点遍历的链接数)和通勤时间(从起点到终点再回到起点的遍历链接数)。

我的随机游走代码非常简单,因为我只是选择随机节点直到到达终点。然而,当我尝试运行几个随机游走时,这个当前的实现非常慢(我想我需要在某个时候运行一百万)。

我的问题是:有什么方法可以使用 Hadoop MapReduce 来并行化此随机游走中正在进行的一些操作?有没有更好的方法让我随机游走?

0 投票
1 回答
1592 浏览

java - 构建 Apache Hive - 无法解决依赖关系

我正在按照http://wiki.apache.org/hadoop/Hive/GettingStarted试用 Apache Hive,并从 Ivy 收到此错误:

对于 4 个不同版本的 Hadoop,此错误重复 4 次,并且构建停止。

我有两个问题:

  1. 如何手动下载这些文件并将它们提供给构建?
  2. 为什么 Hive 需要下载 4 个不同版本的 Hadoop 来构建二进制文件?
0 投票
1 回答
3347 浏览

hadoop - 来自 HBase 的 Hadoop mapreduce 流式传输

我正在构建一个使用 HBase (0.20.1) 作为数据源和数据接收器的 Hadoop (0.20.1) mapreduce 作业。我想用 Python 编写这份工作,这需要我使用 hadoop-0.20.1-streaming.jar 将数据流进出我的 Python 脚本。如果数据源/接收器是 HDFS 文件,这可以正常工作。

Hadoop 是否支持从/到 HBase 的流式传输以进行 mapreduce?

0 投票
2 回答
136 浏览

java - 如何在远程系统上并行执行

将工作分配给一组远程机器的好方法是什么?考虑一个示例,其中任务非常占用 CPU 和 RAM,但实际上并不处理大型数据集。选择的语言是Java。我在想 Hadoop 会是一个不错的选择,但是在远程机器之间传递的数据集相当小,而且 Hadoop 似乎主要关注数据的分布而不是工作的分布。

有哪些好的技术可以提供帮助?

编辑:我主要对负载平衡感兴趣。将有一系列作业的数据集很小(< 3MB),但需要大量的处理和内存。

0 投票
1 回答
689 浏览

hadoop - hadoop-确定是否正在写入文件

有没有办法确定是否正在写入 hadoop 中的文件?例如-我有一个将日志放入 hdfs 的过程。我有另一个进程可以监视 hdfs 中是否存在新日志,但我希望它确保文件在处理之前已完全上传到 hdfs。这样的事情可能吗?

0 投票
2 回答
800 浏览

java - Hadoop:间隔和加入

我对Hadoop很陌生,我目前正在尝试加入两个数据源,其中键是一个间隔(比如 [date-begin/date-end])。例如:

输入1:

输入2:

我想找到key1与key2重叠的所有记录。hadoop 可以吗?我在哪里可以找到实施示例?

谢谢。

0 投票
1 回答
1942 浏览

python - 包含 HTML 标签的文件上的 Hadoop MapReduce 作业

我有一堆大的 HTML 文件,我想在它们上运行 Hadoop MapReduce 作业以查找最常用的单词。我用 Python 编写了 mapper 和 reducer,并使用 Hadoop 流来运行它们。

这是我的映射器:

这是我的减速器:

每当我只是通过管道传输一个小样本小字符串时,例如“hello world hello hello world ...”,我就会得到一个排名列表的正确输出。但是,当我尝试使用一个小的 HTML 文件并尝试使用 cat 将 HTML 传输到我的映射器时,我收到以下错误(input2 包含一些 HTML 代码):

谁能解释我为什么会得到这个?另外,调试 MapReduce 作业程序的好方法是什么?

0 投票
2 回答
1260 浏览

amazon-s3 - 将单个 Hadoop 映射减少输出写入多个 S3 对象

我正在实现需要在多个 S3 对象中创建输出的 Hadoop Map reduce 作业。Hadoop 本身只创建一个输出文件(一个 S3 对象),但我需要将输出划分为多个文件。

我如何实现这一目标?

0 投票
2 回答
2946 浏览

hadoop - map() 和 reduce() 是否应该返回相同类型的键/值对?

在编写 MapReduce 作业(特别是 Hadoop,如果相关)时,必须定义一个map()和一个reduce()函数,两者都产生一系列键/值对。键和值的数据类型由应用程序自由定义。

在单词计数的规范示例中,这两个函数都会产生类型对(string, int),键是单词,值是出现次数。在这里 - 以及在我看到的所有其他示例中 - 输出的键和值类型在两个函数之间是一致的。

必须/应该在MapReduce 的任何应用程序中产生的键/值对的类型相同map()吗?reduce()如果是:为什么?