问题标签 [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.
workflow - EMR + DynamoDB 工作流设置抛出 Hive.createTable NoSuchMethodError JsonErrorResponseHandler
我正在尝试使用 boto Python API 设置 EMR 工作流程(使用 DynamoDB 和 Hive)。我可以使用 Amazon EMR 控制台手动运行脚本。但是,使用 boto 时,它无法创建表。
这是设置 EMR 工作流程的 boto 脚本:
但是,脚本失败并出现以下异常。
hadoop - Hive 是否具有与 DUAL 等效的功能?
我想运行如下语句
SELECT date_add('2008-12-31', 1) FROM DUAL
Hive(在 Amazon EMR 上运行)是否有类似的东西?
amazon-s3 - 文件夹不会在 Amazon S3 上删除
我正在尝试删除因 MapReduce 作业而创建的文件夹。桶中的其他文件删除就好了,但是这个文件夹不会删除。当我尝试从控制台中删除它时,其状态旁边的进度条仅停留在 0。已进行了多次尝试,包括介于两者之间的注销/登录。
hadoop - 用于日志分析的 Amazon MapReduce 最佳实践
我正在解析由 Apache、Nginx、Darwin(视频流服务器)生成的访问日志,并按日期/引荐来源网址/用户代理汇总每个交付文件的统计信息。
每小时生成大量日志,而且这个数字在不久的将来可能会急剧增加 - 因此通过 Amazon Elastic MapReduce 以分布式方式处理此类数据听起来很合理。
现在我已经准备好使用映射器和减速器来处理我的数据并使用以下流程测试整个过程:
- 将映射器、reducers 和数据上传到 Amazon S3
- 配置适当的作业并成功处理
- 从 Amazon S3 下载聚合结果到我的服务器并通过运行 CLI 脚本将它们插入 MySQL 数据库
我已经根据互联网上数以千计的关于 Amazon ERM 的教程手动完成了这项工作。
接下来我该怎么办?自动化此过程的最佳方法是什么?
- 我应该通过 API 控制 Amazon EMR jobTracker 吗?
- 如何确保我的日志不会被处理两次?
- 将已处理文件移动到存档的最佳方法是什么?
- 将结果插入 PostgreSQL/MySQL 的最佳方法是什么?
- 应如何在输入/输出目录中布置作业数据?
- 我应该每次使用 API 创建一个新的 EMR 作业吗?
- 将原始日志上传到 Amazon S3 的最佳方法是什么?
- 任何人都可以分享他们的数据处理流程设置吗?
- 如何控制文件上传和作业完成?
我认为本主题对许多尝试使用 Amazon Elastic MapReduce 处理访问日志但无法找到好的材料和/或最佳实践的人很有用。
UPD:在这里澄清一下最后一个问题:
由 Amazon Elastic MapReduce 提供支持的日志处理的最佳实践是什么?
相关文章:
php - 使用 aws php sdk 将参数传递给 hive 脚本
我正在尝试使用 php sdk 在 AWS EMR 上运行配置单元脚本。如何传递脚本参数(如输入、输出和要处理的日期)?
谢谢
hadoop - 在 AWS Elastic Map Reduce 中禁用 Gzip 输入解压缩
我正在 Gzipped .arc 文件上运行 MapReduce 任务。与这个问题类似,我遇到了困难,因为 Gzip 解压缩是自动运行的(因为文件具有 .gz 扩展名),但它会导致换行/回车问题按照 Unix 文件编码呈现为换行符。这使得输入完全不可读,因为它取决于嵌入在文件中的特定字符数。我正在尝试禁用 Gzip 解压缩,以便我可以在我的映射器中正确执行此操作。我试过了:
但这似乎并不影响压缩。有什么办法可以防止对我的输入进行 Gzip 解压缩?
谢谢,-杰夫
php - 我们如何从 AWS SDK for PHP 传递 Hadoop 流的参数?
我正在尝试通过 AWS SDK for PHP 添加一些工作。我能够成功启动集群并通过 API 启动新的作业流程,但在尝试创建 Hadoop Streaming 步骤时出现错误。
这是我的代码:
我收到如下错误:无效的流参数'-input s3://.... -output s3://..... -mapper s3://....../mapper.php -reducer s3://...../reducer.php"
所以不清楚如何将参数传递给 Hadoop Streaming JAR ?
官方 AWS SDK for PHP 文档不提供任何示例或文档。
可能相关的未答复线程:
amazon-web-services - 在亚马逊弹性 mapreduce 作业中更改 mapred 堆大小的问题
我是 Amazon Elastic MapReduce 的新手,我正在努力使用引导配置将 mapred 堆大小设置为 1Gb。我正在使用 m1.large 实例。我尝试了以下引导配置,但徒劳无功:
1)
动作名称内存密集型配置
路径 s3n://eu-west-1.elasticmapreduce/bootstrap-actions/configurations/latest/memory-intensive
精氨酸
2)
操作名称 配置 Hadoop
路径 s3n://eu-west-1.elasticmapreduce/bootstrap-actions/configure-hadoop
args --site-key-value io.file.buffer.size=65536 --mapred-key-value mapred.child.java.opts=-Xmx1024m
我不确定我尝试过的是否有意义。
如果你们中的任何人能指导我,那就太好了。谢谢
hadoop - Amazon Elastic MapReduce 引导操作不起作用
我尝试了以下引导操作的组合来增加我的工作的堆大小,但它们似乎都不起作用:
什么是正确的语法?
amazon-ec2 - Amazon EC2 与 Amazon EMR
我在 Hive 中实施了一项任务。目前它在我的单节点集群上运行良好。现在我计划在 AWS 上部署它。
我对AWS一无所知。如果我打算部署它,那么我应该选择 Amazon EC2 还是 Amazon EMR?
我想提高我的任务的性能。哪一个对我来说更好更可靠?如何接近他们?我听说我们也可以像在 AWS 上一样注册我们的 VM 设置。是否可以?
请尽快给我建议。
非常感谢。