问题标签 [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.
amazon-emr - 使用 aws emr 定期处理数据
我想我有一个与此线程中提出的问题类似的问题,但我会尝试更具体...
使用 aws 定期处理数据的最佳方法是什么?例如,我想每分钟处理一次聚合到 S3 中的一些报告。最好的方法是通过一些脚本每分钟向现有作业添加一个步骤?
amazon-s3 - Amazon Elastic MapReduce - 从 S3 到 DynamoDB 的大量插入非常慢
我需要将大约 1.3 亿个项目(总共 5+ Gb)初始上传到单个 DynamoDB 表中。在我遇到使用应用程序中的 API 上传它们的问题后,我决定尝试使用 EMR。
长话短说,即使在最强大的集群上,导入非常平均(对于 EMR)的数据量也需要很长时间,花费数百小时而几乎没有进展(大约 20 分钟来处理测试 2Mb 数据位,并且没有管理在 12 小时内完成测试 700Mb 文件)。
我已经联系了 Amazon Premium Support,但到目前为止他们只告诉“由于某种原因 DynamoDB 导入速度很慢”。
我在交互式配置单元会话中尝试了以下说明:
各种标志似乎没有任何明显的效果。尝试了以下设置而不是默认设置:
为 HDFS 而不是 DynamoDB 目标运行的相同命令在几秒钟内完成。
这似乎是一个简单的任务,一个非常基本的用例,我真的想知道我在这里做错了什么。
amazon-emr - 如何加速亚马逊 EMR 引导程序?
我正在使用 amazon EMR 进行一些密集的计算,但是,开始计算大约需要 7 分钟,有没有一些聪明的方法可以让我的计算立即开始?计算是从面向用户的网站开始的 python 流,所以我真的无法承受长时间的启动。
我可能只是错过了亚马逊 AWS 的海洋选项。我只想简单地启动作业(这就是我使用的 EMR)、可扩展性,并且只为我使用的东西付费(并且启动时间没有用处)。
python - Amazon EMR 上的 Pydoop
如何在 Amazon EMR 上使用Pydoop ?
我试着用谷歌搜索这个话题无济于事:这有可能吗?
java - 如何等待 Java 应用程序中的 Elastic MapReduce 作业流程完成?
最近我一直在使用 Amazon Web Services (AWS),我注意到关于这个主题的文档并不多,所以我添加了我的解决方案。
我正在使用 Amazon Elastic MapReduce (Amazon EMR) 编写应用程序。计算结束后,我需要对他们创建的文件执行一些工作,因此我需要知道工作流程何时完成工作。
您可以通过以下方式检查您的工作流程是否已完成:
您还可以在其中查找特定的作业 ID,DescribeJobFlowsRequest
然后检查该作业是否已完成或失败。
我希望它会帮助别人。
mahout - 使用 lucene.vector 使用 mahout 对 solr 索引进行矢量化
我正在尝试使用 Mahout 在 Amazon EMR 上运行集群作业。我有一个在 S3 上上传的 solr 索引,我想使用 mahouts lucene.vector 对其进行矢量化。(这是工作流程中的第一步)
该步骤的参数为:
- 罐子:s3n://mahout-bucket/jars/mahout-core-0.6-job.jar
- MainClass:org.apache.mahout.driver.MahoutDriver
- Args: lucene.vector --dir s3n://mahout-input/solr_index/ --field name --dictOut /test/solr-dict-out/dict.txt --output /test/solr-vectors-out/vectors
日志中的错误是:
选择了未知程序“lucene.vector”。
我已经在本地使用 hadoop 和 Mahout 完成了相同的过程,并且效果很好。我应该如何在 EMR 上调用 lucene.vector 函数?
ruby - 您能否以编程方式轻松控制 Elastic Mapreduce 作业?
有一个用 ruby 编写的命令行客户端,用作标准。但是,它不在 1.9 中运行。ruby 也有一个非常好的 aws-sdk,但它不支持 EMR。有没有好的选择?
r - 用于短期任务的 Amazon EC2 按需工作人员
我正在寻找构建一个 Web 应用程序,该应用程序需要在 R 中按需运行资源密集型 MCMC(马尔可夫链蒙特卡罗)计算,以便为用户生成一些概率图。
约束:
显然我不想在与 Web 应用前端相同的服务器上运行资源密集型计算,因此需要将这些任务交给工作实例。
这些计算需要大量的 CPU 才能运行,我希望尽可能降低延迟(希望是几秒钟,而不是几分钟),所以我更愿意在更强大的硬件上运行计算。
我负担不起以约 66 美分/小时 x 24 小时/天的速度运行强大的 EC2 实例,因此可能需要按需或现场请求实例。
以下是我提出的选项:
每天 24 小时运行一个廉价且负担得起的工作实例,该实例一次执行一项任务,由 Amazon SWF(或 SQS)管理。
缺点:- 高延迟- 更便宜的硬件,更长的等待时间。
- 高延迟- 更便宜的硬件,更长的等待时间。
为每个任务生成一个更强大的工作实例(只要将作业添加到队列中就会启动)并在完成时终止实例。
缺点:- 昂贵/浪费- 我每次都要在服务器上支付一个小时,并且只用几秒钟来计算
- 启动开销——按需启动一个新的 EC2 实例会引入不可忽略的延迟(抵消使用更强大硬件的全部目的)吗?
- 昂贵/浪费- 我每次都要在服务器上支付一个小时,并且只用几秒钟来计算
与 #2 类似,但 EC2 现货请求出价低。
缺点:- 启动开销- 见 #2
- 不一致?- 我以前从未处理过现场请求,所以我不知道这样的解决方案会有多不稳定或动手操作......我是否必须不断调整我的出价以确保我仍然可以在高峰时间完成任务? 另外,我想我必须密切监视我的流程,以确保它们在计算过程中不会被中断。
- 启动开销- 见 #2
某种混合解决方案,我主动监控强大的硬件工作实例及其负载,并每小时智能地启动和终止实例,以保持成本和可用性的最佳平衡
。- 复杂且昂贵的设置——除非有一个很好的托管服务来处理这样的事情,否则我必须自己设置所有的基础设施......
- 复杂且昂贵的设置——除非有一个很好的托管服务来处理这样的事情,否则我必须自己设置所有的基础设施......
我希望有一些服务可以让我按分钟而不是按小时为高度可用的按需硬件付费。
所以我的问题如下:
你会如何建议解决这个问题?
是否有一个很好的 EC2 实例管理解决方案可以位于 Amazon SWF 之上并帮助我进行负载平衡和终止空闲工作人员?
现场请求投标会解决我的问题,还是更适合不一定需要立即完成的任务?
python - Hadoop不可分割的TextInputFormat
有没有办法将整个文件发送到映射器而不被拆分?
我已经读过这个,但我想知道是否有另一种方法可以做同样的事情而不必生成中间文件。理想情况下,我想要 Hadoop 命令行上的现有选项。
我streaming
在 Amazon EMR 上使用带有 Python 脚本的工具。
python - Hadoop 流式处理:报告错误
使用 Python 脚本在 Hadoop 流中报告异常的最佳实践是什么?
我的意思是:假设我有一个无法理解其输入的映射器脚本,我如何向 Hadoop 发出信号以终止作业并报告错误消息?
我是否使用logging
并结束sys.exit
?