开始免费使用 AWS

创建免费账户
或登录到控制台

AWS 免费套餐包括通过 Amazon ElastiCache 提供的 750 小时的微缓存节点。

查看 AWS 免费套餐详细信息 »

问:什么是 AWS Data Pipeline?

AWS Data Pipeline 是一种 Web 服务,它使在 AWS 云中安排常规数据移动和数据处理活动变得更为简易。AWS Data Pipeline 集合了本地存储系统和云存储系统,可随时随地以要求的格式向开发人员提供数据。AWS Data Pipeline 让您能够迅速定义包含数据源、目的地、预定义或自定义数据处理活动的依赖数据链,我们称之为管道。根据您定义的时间表,管道会定期执行各种处理活动,例如分布式数据备份、SQL 转换、MapReduce 应用程序或针对目的地的自定义脚本,如 Amazon S3、Amazon RDS 或 Amazon DynamoDB。通过对这些工作流执行计划、重试和故障逻辑作为一种高度可扩展且完全管理型的服务,Data Pipeline 可确保您的管道稳健运行和高度可用。

问:AWS Data Pipeline 可以用来做什么?

使用 AWS Data Pipeline,您可以快速轻松地部署管道,无需分心管理日常数据操作,从而让您能够集中精力从该数据获取所需的信息。您只需为您的数据管道指定所需数据源、时间表和处理活动即可。AWS Data Pipeline 在高度可靠且具有容错功能的基础设施上处理运行和监控处理活动。另外,为了进一步简化您的开发流程,AWS Data Pipeline 提供了许多内置活动,适用于多种常见操作,如在 Amazon S3 和 Amazon RDS 之间复制数据,或针对 Amazon S3 日志数据运行查询。

问:AWS Data Pipeline 与 Amazon Simple Workflow Service 有什么区别?

尽管两种服务都提供执行跟踪、重试和例外处理能力,且能够运行任意操作,但 AWS Data Pipeline 是专为利用特定步骤而设计的,这些步骤在大部分数据驱动型工作流程中非常常见,尤其是,当输入数据达到特定的成熟条件时执行的各种活动,从而可轻松在不同数据存储间复制数据和计划相关转换。这种高度具体的侧重点意味着,没有代码或编程知识也可以快速创建工作流定义。

问:什么是管道?

管道即 AWS Data Pipeline 资源,其中包含由执行业务逻辑所需的数据源、目的地和预定义或自定义数据处理活动所组成的关联数据链的定义。

问:什么是数据节点?

数据节点代表您的业务数据。例如,数据节点可以表示特定的 Amazon S3 路径。AWS Data Pipeline 支持表达式语言,使其更容易引用常态生成的数据。例如,您可以指定您的 Amazon S3 数据的格式为://example-bucket/my-logs/logdata-#{scheduledStartTime('YYYY-MM-DD-HH')}.tgz.

问:什么是活动?

活动是 AWS Data Pipeline 代表您启动的操作,它是管道的一部分。示例活动包括 EMR 或 Hive 作业、复制、SQL 查询或命令行脚本。

问:什么是前提条件?

前提条件是指成熟度检查,可选择性地将其关联到数据源或活动。如果数据源具有前提条件检查,那么必须先成功完成检查,然后才能启动任何需要用到该数据源的活动。如果活动具有前提条件,那么必须先成功完成检查,然后才能运行活动。如果您运行的活动计算起来非常昂贵,并且在未满足特定条件前不得运行,这将会非常有用。

问:什么是时间表?

时间表定义管道活动运行的时间和服务预计的可使用数据的频率。所有时间表都必须具有开始日期和频率;例如,每天,从 2013 年 1 月 1 日下午 3 点开始。可以选择时间表结束日期,在此时间后,AWS Data Pipeline 服务不执行任何活动。当您将时间表与活动关联起来后,活动就会按时间表运行。当您将时间表与数据源关联起来,就表示您告诉 AWS Data Pipeline 服务,您期望数据会按照该时间表更新。例如,如果您用小时时间表定义一个 Amazon S3 数据源,服务会认为数据源每小时都会更新文件。



问:Data Pipeline 是否供应任何标准活动?

是的,AWS Data Pipeline 为以下活动提供内置支持:

  • CopyActivity: 该活动可在 Amazon S3 和 JDBC 数据源之间复制数据,或运行 SQL 查询并将输出复制到 Amazon S3。
  • HiveActivity: 该活动能让您轻松执行 Hive 查询。
  • EMRActivity: 该活动允许您运行任意 Amazon EMR 作业。
  • ShellCommandActivity: 该活动允许您运行任意 Linux shell 命令或程序。

问:AWS Data Pipeline 是否供应任何标准前提条件?

是的,AWS Data Pipeline 为以下前提条件提供内置支持:

  • DynamoDBDataExists: 该前提条件检查 DynamoDB 表内是否存在该数据。
  • DynamoDBTableExists:该前提条件检查 DynamoDB 表是否存在。
  • S3KeyExists: 该前提条件检查特定的 Amazon S3 路径是否存在。
  • S3PrefixExists: 该前提条件检查特定路径内是否至少存在一个文件。
  • ShellCommandPrecondition: 该前提条件在您的资源上运行任意脚本,并检查脚本是否成功。

问:是否能供应自定义活动?

可以,您可以使用 ShellCommandActivity 来运行任意活动逻辑。

问:是否能提供自定义前提条件?

可以,您可以使用 ShellCommandPrecondition 来运行任意前提条件。

问:是否能在同一管道中为不同的活动定义多个计划?

可以,只需在管道的定义文件中定义多个时间表数据元,并通过时间表字段将所需的时间表关联到正确的活动即可。这让您能够定义一个管道,例如,在这个管道中,每小时都有日志文件存储到 Amazon S3 中,以便每天生成一份合计报告。

问:如果活动失败,会怎么样?

如果所有活动尝试返回失败状态,则活动失败。默认情况下,在输入硬故障状态之前,活动会作三次重试。您可以将自动重试次数增加到 10 次;然而,系统不会允许无限次重试。当活动用完允许的重试次数后,将触发任何已配置的 onFailure 警报,且不会再次重试,直到您通过 CLI、API 或控制台按钮手动发布重新运行命令。

问:如何向活动添加警报?

您可以定义 Amazon SNS 警报使其在活动成功、失败或延迟时触发。创建警报数据元并在活动数据元处于 onFail、onSuccess 或 onLate 插槽时引用它。

问:是否可以手动重新运行失败的活动?

可以。通过将状态重置为 SCHEDULED,您可以重新运行一组已完成或失败的活动。可以使用 UI 中的 Rerun 按钮,或在命令行或 API 中修改其状态来执行重置操作。此操作会立即作一个重新检查所有活动独立性的时间表,接着会尝试执行其他活动。失败后,活动会执行原先设置的重试次数。

问:活动在哪些资源上运行?

AWS Data Pipeline 活动是在您自己的计算资源上运行的。计算资源分为两类:AWS Data Pipeline 托管和自管。AWS Data Pipeline 托管资源是 Amazon EMR 集群或 Amazon EC2 实例,AWS Data Pipeline 服务仅在需要这些资源时启动它们。您管理的资源是长运行资源,可以是能够运行基于 Java 的 AWS Data Pipeline Task Runner 的任何资源(本地硬件、客户管理的 Amazon EC2 实例等)。

问:AWS Data Pipeline 能否为我配置和终止 AWS Data Pipeline 管理的计算资源。

可以,当计划时间内使用这些资源的第一个活动可以运行时,系统会调配这些资源,或者使用这些资源的最终活动终止时,系统会终止这些实例。

问:能否在同一管道中使用多个计算资源?

可以,只需在您的定义文件中定义多个集群数据元,并通过 runsOn 字段关联该集群以供每个活动使用即可。这允许管道将 AWS 资源与本地资源结合起来,或使用混合实例来执行活动,例如,您可能希望使用 t1.micro 以便廉价地执行快速脚本,但是之后,管道上的 Amazon EMR 作业可能会需要大型实例集群的强大功能。

问:能否在本地资源、或我管理的 AWS 资源上执行活动?

可以。为了使用内部资源运行活动,AWS Data Pipeline 提供了 Task Runner 包,该软件包可以安装在您本地主机上。该软件包持续轮询 AWS Data Pipeline 服务以便执行作业。当应该在您的内部资源上执行特定活动时,例如执行数据库存储程序或数据库转储,AWS Data Pipeline 会向 Task Runner 发布相应的命令。为了确保您的管道活动高度可用,您可以选择分配多个 Task Runner 来轮询指定的作业。这样,如果某个 Task Runner 不可用时,其他 Task Runner 会直接接管它的工作。

问:如何在我的本地主机上安装 Task Runner?

您可以通过执行以下步骤在您的本地主机上安装 Task Runner:

  1. 下载 AWS Task Runner 包。
  2. 创建包含 AWS 证书的配置文件。
  3. 通过以下命令启动 Task Runner 代理:
    java -jar TaskRunner-1.0.jar --config ~/credentials.json --workerGroup=[myWorkerGroup]
  4. 定义活动时,将活动设置为在 [myWorkerGroup] 上运行,以便将其分配到之前安装的主机上。

问:如何开始使用 AWS Data Pipeline?

要开始使用 AWS Data Pipeline,只需访问 AWS 管理控制台并转至 AWS Data Pipeline 选项卡即可。您可以在这里使用简单的图形编辑器创建管道。

问:AWS Data Pipeline 可以用来做什么?

利用 AWS Data Pipeline,您可以计划并管理定期数据处理作业。您可以用它来取代简单系统,目前由基于 cron 的脆弱的解决方案管理,或使用它来构建复杂、多阶段的数据处理作业。

问:是否存在可试用于 AWS Data Pipeline 的示例管道?

有的,我们的文档中提供了示例管道。另外,控制台也提供了数个管道模板,您可以从这些模板入门。

问:可在 AWS Data Pipeline 中创建多少管道?

默认情况下,您的账户可以拥有 100 个管道。

问:对我存放在单一管道中的内容是否有限制?

默认情况下,每个管道可以拥有 100 个对象。

问:是否可以更改限额?

可以。如果您希望提升限额,请联系我们

问:价格是否含税?

除非另行说明,否则我们的价格不包括适用的税费和关税 (包括增值税和适用销售税)。使用日本账单地址的客户若要使用 AWS,则需缴纳日本消费税。了解更多