本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
通API话的常见概念
当您编写调用 Amazon 的应用程序时 EMRAPI,在调用其中一个包装函数时,有几个概念适用。SDK
亚马逊终端节点 EMR
端点URL是 Web 服务的入口点。每个 Web 服务请求都必须包含一个终端节点。端点指定 AWS 创建、描述或终止集群的区域。其形式是 elasticmapreduce.
。如果您指定通用终端节点 (regionname
.amazonaws.comelasticmapreduce.amazonaws.com
),Amazon EMR 会将您的请求定向到默认区域中的终端节点。对于 2013 年 3 月 8 日或之后创建的账户而言,默认区域是 us-west-2;对于较早的账户而言,默认区域是 us-east-1。
有关 Amazon 终端节点的更多信息EMR,请参阅中的区域和终端节点 Amazon Web Services 一般参考.
在 Amazon 中指定集群参数 EMR
这些Instances
参数使您能够配置EC2实例的类型和数量,以创建用于处理数据的节点。Hadoop 将数据的处理分布到多个集群节点。主节点负责跟踪核心和任务节点的运行状况并轮询节点的作业结果状态。核心和任务节点执行实际的数据处理。如果有一个单节点集群,则该节点同时用作主节点和核心节点。
KeepJobAlive
请求中的 RunJobFlow
参数用于确定在集群步骤执行完毕时是否终止该集群。当您知道该集群按预期运行时,将该值设置为 False
。当您在集群执行暂停期间排除任务流程故障和添加步骤时,将该值设置为 True
。这样可以减少向 Amazon Simple Storage Service(Amazon S3)上载结果的时间和费用,只需在修改重新启动此集群的步骤后重复该流程即可。
如果KeepJobAlive
是true
,则在成功让集群完成工作后,您必须发送TerminateJobFlows
请求,否则集群将继续运行并生成 AWS 收费。
有关独有的参数的更多信息RunJobFlow
,请参阅RunJobFlow。有关该请求中通用参数的更多信息,请参见通用请求参数。
亚马逊的可用区域 EMR
Amazon EMR 使用EC2实例作为节点来处理集群。这些EC2实例的位置由可用区和区域组成。区域分散存在,位于独立的地理区域。可用区是在一个区域内的不同位置,与其它可用区的故障隔离。每个可用区向同一区域中的其它可用区提供低成本、低延迟的网络连接。有关 Amazon 的区域和终端节点列表EMR,请参阅中的区域和终端节点 Amazon Web Services 一般参考.
AvailabilityZone
参数指定集群的一般位置。此参数是可选的,一般而言,我们不鼓励使用该参数。如果AvailabilityZone
未指定,Amazon EMR 会自动为集群选择最佳AvailabilityZone
值。如果想让您的实例和其它运行中的现有实例处于同一位置,而您的集群需要从那些实例中读取数据或写入数据,您可能会发现这个参数很有用。有关更多信息,请参阅 Amazon EC2 用户指南。
如何在 Amazon EMR 集群中使用其他文件和库
有些时候,您可能喜欢通过您的映射器或 Reducer 应用程序使用其它文件或自定义库。例如,您可能想使用将PDF文件转换为纯文本的库。
Hadoop 流式处理时缓存文件供映射器或 Reducer 使用
-
在:JAR
args
字段中,添加以下参数:-cacheFile s3://bucket/path_to_executable#local_path
文件
local_path
在映射器的工作目录中,映射器可以引用这个文件。