问题标签 [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.
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,我们可以在哪里更改它?
这是堆栈跟踪
hadoop - Amazon S3 分段上传经常失败
我正在尝试使用 s3cmd CLI将32GB文件上传到 S3 存储桶。它正在进行分段上传,并且经常失败。我正在使用具有 1000mbps 带宽的服务器执行此操作。但是上传还是很慢。我可以做些什么来加快速度吗?
另一方面,该文件位于我提到的服务器上的 HDFS 上。有没有办法引用 Amazon Elastic Map Reduce 作业来从这个 HDFS 中提取它?它仍然是上传,但作业也正在执行。所以整个过程要快得多。
python - Amazon EMR 上的 Python 映射器
我正在尝试在 Amazon EMR 上运行 Python 脚本作为映射器。
我的脚本的初始部分类似于:
这会导致以下错误输出:
对此有什么想法吗?我以前成功地使用过 EMR,但没有使用 Python。通过 Web 界面运行作业并使用 boto 库,我得到了相同的结果。
hadoop - 将文件从 AWS EMR 集群中的映射器上传到 S3
我有一个在 AWS EMR 上运行的现有 map reduce 作业,它处理数十亿行日志并进行一些计算以从 mapper 形成(键,值)对。这些计算非常耗时,我需要在其他一些 map reduce 作业中使用这些计算的一些中间步骤的输出。所以,我想挖掘计算的输出并上传到s3,而不影响现有的工作(即不改变当前的映射器或reducer)。在上传之前,我会先将这些行收集到一个本地临时文件中,一旦文件变得足够大,我会将这个文件上传到 s3。
问题是 - 与 reducer 不同,Mapper 不能根据键对数据进行排序。如何为 s3 设计唯一的文件名,以便从不同的映射器上传数据,这样就不会有任何文件名冲突?
我正在使用 Java。如果有办法获取映射器集群 ID 或生成随机编号,也可以解决问题。所有映射器独有(我不知道该怎么做?)
hbase - 如何在 ruby on rails 中访问在 Amazon EMR 上运行的 Hbase
任何人都可以帮助我在 ruby 中以编程方式连接到 Hbase(在 Amazon EMR 上运行)吗?
实际上,我想将批量数据导入 Amazon EMR 上的 Hbase 面向列的表中,并以编程方式通过聚合/分组查询来检索相同的数据。
我已经浏览了https://github.com/aws/aws-sdk-ruby、https://github.com/CompanyBook/massive_record和 hbase-stargate gems,但是,它们似乎都没有通过示例进行明确的解释.
提前致谢..
java - hdfs中的文件路径
我想从 Hadoop 文件系统中读取文件。
为了实现文件的正确路径,我需要hdfs
.
所以最后我的文件路径看起来像
现在我想知道提取 HostName = "123.23.12.4344" & port: 9000?
基本上,我想访问 Amazon EMR 上的文件系统,但是,当我使用
��明白了��以我决定使用URI。(我必须使用 URI)但我不确定如何访问 URI。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,并遇到了同样的问题。
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 表限制为仅一行(而不是先前测试中的错误行之一)时,会发生相同的错误。
hadoop - PIG 不读取我的自定义 InputFormat
我有一个习惯MyInputFormat
,假设要处理多行输入的记录边界问题。但是当我把它MyInputFormat
放入我的 UDF 加载函数中时。如下:
对于每个映射器,它打印出来I am in getInputFormat function
但不是I am in createRecordReader
. 我想知道是否有人可以提供有关如何将我的服装 MyInputFormat 连接到 PIG 的 UDF 加载器的提示?非常感谢。
我在 Amazon EMR 上使用 PIG。
amazon-ec2 - Hive 作业被终止,查询 execute() 仍然挂起
我正在使用 hive-jdbc-0.7.1-cdh3u5.jar。我在 EMR 上运行了一些内存密集型查询,这些查询偶尔会失败。当我查看作业跟踪器时,我看到查询已被终止,并且我看到以下错误:
java.io.IOException:任务进程退出,非零状态为 137
但是,Hive JDBC 驱动程序 execute() 调用没有检测到这一点,而是挂起。没有发现异常。有任何想法吗?谢谢: