问题标签 [elastic-map-reduce]
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.
regex - R:替换双转义文本
我正在使用 Amazon Elastic Map Reduce 命令行工具将多个系统调用粘合在一起。这些命令返回已经(部分?)转义的 JSON 文本。然后,当系统调用将其转换为 R 文本对象 (intern=T) 时,它似乎又被转义了。我需要清理它,以便它使用 rjson 包进行解析。
我以这种方式进行系统调用:
返回:
但命令行中的相同命令返回:
如果我尝试通过 rjson 运行系统调用的结果,我会得到这个错误:
我相信这是因为 s3n 行中的双重转义。我正在努力将这个文本按摩成可以解析的东西。
它可能就像用“\”替换“\\”一样简单,但由于我有点挣扎于正则表达式和转义,我无法正确完成。
那么如何获取字符串向量并将任何出现的“\\”替换为“\”?(即使要输入这个问题,我也必须使用三个反斜杠来表示两个)与此特定用例相关的任何其他提示?
这是我更详细的代码:
如果您渴望重新创建 emrJson 对象,这里是 dput() 输出:
hadoop - Hadoop中分布式缓存的寿命
Hadoop流式作业中使用分布式缓存机制将文件传输到节点时,系统是否会在作业完成后删除这些文件?如果它们被删除(我认为它们是),有没有办法让缓存保留用于多个作业?这在 Amazon 的 Elastic Mapreduce 上是否同样有效?
mongodb - EMR [使用 MRJob] 的输入数据如何跨节点分布?
我正在研究使用 Yelp 的 MRJob 来使用 Amazon 的 Elastic Map Reduce 进行计算。在计算密集型工作期间,我需要读取和写入大量数据。每个节点应该只获取一部分数据,我对这是如何完成的感到困惑。目前,我的数据在 MongoDB 中,并存储在持久性 EBS 驱动器上。
使用 EMR 时,如何在节点上分解数据?应该如何告诉 MRJob 将数据分区到哪个键上?MRJob EMR 文档隐含了分解步骤:如果您打开文件或连接到 S3 键值存储,它如何划分键?它是否假设输入是一个序列并在此基础上自动对其进行分区?
也许有人可以使用MRJob wordcount 示例来解释输入数据是如何传播到节点的。在该示例中,输入是一个文本文件——它是复制到所有节点,还是由一个节点连续读取并分段分发?
amazon - 通过 boto 获取 Amazon Elastic MapReduce 作业流中已完成的步骤数
为了避免每次提交作业时设置实例的开销,我使用在每次作业完成后始终处于等待模式的作业流。但是,根据此页面,“每个作业流程中最多允许 256 个步骤”。
有没有办法通过 boto API 获取工作流中已完成步骤的数量?我无法找到使用 boto.emr.emrobject.JobFlow 类的方法。
amazon-ec2 - boto ElasticMapReduce 节流和速率限制
我已经通过 boto API 多次遇到来自 Amazon EMR 的速率限制,具体如下:
该操作是一次性操作请求作业流的状态,因此不应该涉及任何速率限制。有没有其他人遇到过这个问题?此外,似乎没有太多关于 EC2 和 EMR 节流/速率限制的文档......
amazon-web-services - 使用 cronjob + API 的 Amazon MapReduce
我在 EC2 实例上建立了一个网站,让用户可以查看来自 4 个社交网络的信息。
一旦用户加入,网站应该每晚更新他们的信息,以便在第二天显示最新的相关信息。
最初,我们有一个 cron-job,它遍历每个用户并对 API 进行必要的调用,然后将数据存储在数据库(amazon rds 实例)上。
此操作每人需要 2 到 30 秒,这意味着一个接一个地进行更新需要几天时间。
我正在查看 MapReduce 并想知道它是否适合我尝试做的事情,但目前我无法确定。
我是否可以向 MapReduce 提供一个 .sql 文件,其中包含我要更新的所有记录 + 一个告诉 MapReduce 如何处理每条记录并让它同时处理它们的脚本?
如果没有,最好的方法是什么?
提前感谢您的帮助。
hadoop - Hadoop 似乎在对给定 reduce 调用的值进行迭代期间修改了我的关键对象
Hadoop 版本:0.20.2(在 Amazon EMR 上)
问题:我有一个在映射阶段编写的自定义键,我在下面添加。在 reduce 调用期间,我对给定键的值进行了一些简单的聚合。我面临的问题是,在 reduce 调用中的值迭代过程中,我的键发生了变化,并且我得到了那个新键的值。
我的密钥类型:
这个key的实现有什么问题吗?以下是我在reduce调用中面临混合键的代码:
对此的任何帮助将不胜感激。
python - Python 客户端支持在 Amazon EMR 之上运行 Hive
我注意到 mrjob 和 boto 都不支持 Python 接口在 Amazon Elastic MapReduce (EMR) 上提交和运行 Hive 作业。是否有任何其他 Python 客户端库支持在 EMR 上运行 Hive?
lucene - 在 Hadoop 上运行 Lucene/Solr 的最佳方式是什么?
我们在具有 1TB EBS 卷的 Amazon Web Services EC2 实例上运行 Solr 来存储索引,以便我们可以轻松启动具有相同(只读)索引的其他服务器。但是,我们的索引很快就会超过 1TB,我真的不想处理条带化多个 EBS 卷来保存索引。此外,重新生成索引非常慢。我想将索引生成(可能还有托管)转移到 Hadoop,最好转移到 Amazon 的 Elastic MapReduce,尽管如果需要我可以设置单独的 Hadoop 服务器。我们使用 RightScale,因此我们可以使用他们的 ServerTemplates 库。
在 Hadoop 上开始使用 Lucene/Solr 的最佳起点是什么?
hadoop - 将 Hadoop Pig 输出作为 JSON 数据发布到 URL?
我有一个 Pig 作业,它分析日志文件并将摘要输出写入 S3。我不想将输出写入 S3,而是想将其转换为 JSON 有效负载并将其发布到 URL。
一些注意事项:
- 此作业在 Amazon Elastic MapReduce 上运行。
- 我可以使用 STREAM 通过外部命令传输数据,然后从那里加载。但是因为 Pig 从不向外部命令发送 EOF,这意味着我需要在每一行到达时发布它,并且我不能对它们进行批处理。显然,这会损害性能。
解决这个问题的最佳方法是什么?PiggyBank 或其他库中是否有我可以使用的东西?或者我应该写一个新的存储适配器?感谢您的意见!