问题标签 [amazon-emr]

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 投票
4 回答
2521 浏览

java - 在 Amazon EMR 中运行 hadoop jar

我为 map-reduce 应用程序创建了一个自定义 jar,并尝试在 Amazon EMR 作业流中运行它。我在 hadoop 1.0.4 中编译了代码,但是 Amazon EMR 支持 Hadoop 1.0.3。另外我在 jdk 1.7 下编译了代码,我不确定 Amazon EMR 使用哪个版本的 java,我们可以在哪里更改它?

这是堆栈跟踪

0 投票
1 回答
804 浏览

hadoop - Amazon S3 分段上传经常失败

我正在尝试使用 s3cmd CLI将32GB文件上传到 S3 存储桶。它正在进行分段上传,并且经常失败。我正在使用具有 1000mbps 带宽的服务器执行此操作。但是上传还是很慢。我可以做些什么来加快速度吗?

另一方面,该文件位于我提到的服务器上的 HDFS 上。有没有办法引用 Amazon Elastic Map Reduce 作业来从这个 HDFS 中提取它?它仍然是上传,但作业也正在执行。所以整个过程要快得多。

0 投票
1 回答
1044 浏览

python - Amazon EMR 上的 Python 映射器

我正在尝试在 Amazon EMR 上运行 Python 脚本作为映射器。

我的脚本的初始部分类似于:

这会导致以下错误输出:

对此有什么想法吗?我以前成功地使用过 EMR,但没有使用 Python。通过 Web 界面运行作业并使用 boto 库,我得到了相同的结果。

0 投票
1 回答
440 浏览

hadoop - 将文件从 AWS EMR 集群中的映射器上传到 S3

我有一个在 AWS EMR 上运行的现有 map reduce 作业,它处理数十亿行日志并进行一些计算以从 mapper 形成(键,值)对。这些计算非常耗时,我需要在其他一些 map reduce 作业中使用这些计算的一些中间步骤的输出。所以,我想挖掘计算的输出并上传到s3,而不影响现有的工作(即不改变当前的映射器或reducer)。在上传之前,我会先将这些行收集到一个本地临时文件中,一旦文件变得足够大,我会将这个文件上传到 s3。

问题是 - 与 reducer 不同,Mapper 不能根据键对数据进行排序。如何为 s3 设计唯一的文件名,以便从不同的映射器上传数据,这样就不会有任何文件名冲突?

我正在使用 Java。如果有办法获取映射器集群 ID 或生成随机编号,也可以解决问题。所有映射器独有(我不知道该怎么做?)

0 投票
1 回答
966 浏览

hbase - 如何在 ruby​​ on rails 中访问在 Amazon EMR 上运行的 Hbase

任何人都可以帮助我在 ruby​​ 中以编程方式连接到 Hbase(在 Amazon EMR 上运行)吗?

实际上,我想将批量数据导入 Amazon EMR 上的 Hbase 面向列的表中,并以编程方式通过聚合/分组查询来检索相同的数据。

我已经浏览了https://github.com/aws/aws-sdk-rubyhttps://github.com/CompanyBook/massive_record和 hbase-stargate gems,但是,它们似乎都没有通过示例进行明确的解释.

提前致谢..

0 投票
1 回答
37165 浏览

java - hdfs中的文件路径

我想从 Hadoop 文件系统中读取文件。

为了实现文件的正确路径,我需要hdfs.

所以最后我的文件路径看起来像

现在我想知道提取 HostName = "123.23.12.4344" & port: 9000?

基本上,我想访问 Amazon EMR 上的文件系统,但是,当我使用

明白了以我决定使用URI。(我必须使用 URI)但我不确定如何访问 URI。

0 投票
2 回答
1671 浏览

hadoop - 使用 java.lang.NoClassDefFoundError 在 AWS EMR 上运行 Pig UDF:org/apache/pig/LoadFunc

我正在开发一个应用程序,它尝试读取存储在 S3 bucks 中的日志文件并使用 Elastic MapReduce 对其进行解析。当前日志文件具有以下格式

所以我尝试将文件加载到我的 Pig 脚本中,但内置的 Pig Loader 似乎无法加载我的数据,所以我必须创建自己的 UDF。由于我对 Pig 和 Hadoop 还很陌生,因此我想在编写自己的脚本之前先尝试其他人编写的脚本,以了解 UDF 的工作原理。我从这里找到了一个http://pig.apache.org/docs/r0.10.0/udf.html,有一个 SimpleTextLoader。为了编译这个 SimpleTextLoader,我必须添加一些导入,如

然后,我发现我需要编译这个文件。我必须下载 svn 和 pig running

现在我有一个 pig.jar 文件,然后我尝试编译这个文件。

它编译成功,我在 Pig 中输入 grunt,在 grunt 中我尝试加载文件,使用

在 pig_1354666051892.log 里面,它有

我还尝试使用来自http://wiki.apache.org/pig/UDFManual的另一个 UDF (UPPER.java) ,但尝试使用 UPPER 方法仍然会出现相同的错误。你能帮帮我吗,这里有什么问题吗?非常感谢!

更新:我确实在 /home/hadoop/lib/pig/pig.jar 尝试了 EMR 内置 Pig.jar,并遇到了同样的问题。

0 投票
1 回答
2471 浏览

java - 用 Sqoop 导出 Hive 表,有些行没有分隔

我有一个使用 Hive 生成​​的表(在 Amazon Elastic MapReduce JobFlow 上)。我可以看到数据位于hdfs:///mnt/hive_081/warehouse/[table name].

我已经将 Sqoop 包装在一个 jar 中(没有更改任何内容),并将其上传到主节点进行测试。

我这样运行我的 sqoop jar:

其中 $ARGS 是(省略了敏感的 mysql 标志):

我正在对我模拟的十行数据进行测试。没有空值。每一行都是唯一的,在所有列中重复相同的数字。当我执行命令时,我得到很多

我每次都会收到相同的四行(共 10 行)的此消息(忽略负值,这些是 TINYINT 的列,不适合该数字)。

您可以看到行中前两个值之间的空间要小得多。这是我的问题吗?什么会导致这个?仅供参考,如果我将数据文件从 HDFS 复制到本地 FS,并指向它,我不会收到此消息 - 而且数据也没有到达其目的地:/。无论如何,我正在尝试自动化多步骤过程,因此我希望能够直接对 HDFS 数据进行操作,而无需复制任何内容。

非常感谢任何建议!

更新:当我使用逗号作为分隔符时也会发生这种情况。观察到相同的四行。当我将 Hive 表限制为仅一行(而不是先前测试中的错误行之一)时,会发生相同的错误。

0 投票
1 回答
1043 浏览

hadoop - PIG 不读取我的自定义 InputFormat

我有一个习惯MyInputFormat,假设要处理多行输入的记录边界问题。但是当我把它MyInputFormat放入我的 UDF 加载函数中时。如下:

对于每个映射器,它打印出来I am in getInputFormat function但不是I am in createRecordReader. 我想知道是否有人可以提供有关如何将我的服装 MyInputFormat 连接到 PIG 的 UDF 加载器的提示?非常感谢。

我在 Amazon EMR 上使用 PIG。

0 投票
1 回答
580 浏览

amazon-ec2 - Hive 作业被终止,查询 execute() 仍然挂起

我正在使用 hive-jdbc-0.7.1-cdh3u5.jar。我在 EMR 上运行了一些内存密集型查询,这些查询偶尔会失败。当我查看作业跟踪器时,我看到查询已被终止,并且我看到以下错误:

java.io.IOException:任务进程退出,非零状态为 137

但是,Hive JDBC 驱动程序 execute() 调用没有检测到这一点,而是挂起。没有发现异常。有任何想法吗?谢谢: