作为一项托管 ETL(提取-转换-加载)服务,AWS Data Pipeline 支持您跨各种 AWS 服务以及本地资源定义数据移动和转换。您可以使用 Data Pipeline 定义依赖性进程来创建由包含数据的数据节点组成的管道;活动或业务逻辑,例如按顺序运行的 EMR 作业或 SQL 查询;以及您的业务逻辑执行的时间表。
例如,如果您希望将存储在 Amazon S3 中的点击流数据移动到 Amazon Redshift,则可以使用存储日志文件的 S3DataNode 定义一个管道,一个使用 Amazon EMR 集群将日志文件转换为 .csv 文件并存储回 S3 的 HiveActivity,一个将您的数据从 S3 复制 Redshift 的 RedshiftCopyActivity 和一个将连接到 Redshift 集群的 RedshiftDataNode。然后,您可以选择一个时间表在一天结束时运行。

使用 AWS Data Pipeline 将点击流数据从 Amazon S3 移动到 Amazon Redshift。
您还可以定义先决条件,在启动特定活动之前检查您的数据是否可用。在上面的例子中,您可以在 S3DataNode 上设定一个先决条件,在启动 HiveActivity 之前检查日志文件是否可用。
AWS Data Pipeline 处理…
- 作业的计划、执行和重试逻辑。
- 跟踪业务逻辑、数据源和上一处理步骤之间的依赖关系,以确保只有所有依赖关系都满足时逻辑才会运行。
- 发送任何必要的故障通知。
- 创建和管理作业可能需要的任何计算资源。

ETL 数据到 Amazon Redshift
将 RDS 或 DynamoDB 表复制到 S3,转换数据结构,使用 SQL 查询运行分析并将其加载到 Redshift。
ETL 非结构化数据
在 EMR 上使用 Hive 或 Pig 分析非结构化数据(如点击流日志),将其与 RDS 中的结构化数据相结合,并将其上传到 Redshift 以便查询。
将 AWS 日志数据加载到 Amazon Redshift
将日志文件(如来自 AWS 账单日志或 AWS CloudTrail、Amazon CloudFront 和 Amazon CloudWatch Logs)从 Amazon S3 加载到 Redshift。
数据加载和提取
将数据从 RDS 或 Redshift 表复制到 S3,反之亦然。
移动到云
从本地数据存储(如 MySQL 数据库)轻松复制数据,然后将其移动到 AWS 数据存储(如 S3),以使其可用于各种 AWS 服务,例如 Amazon EMR、Amazon Redshift 和 Amazon RDS。
Amazon DynamoDB 备份和恢复
定期将您的 Dynamo DB 表备份到 S3,以用于灾难恢复。