创建工作流 - Amazon Lake Formation
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

创建工作流

在开始之前,请确保已向角色 LakeFormationWorkflowRole 授予所需的数据权限和数据位置权限。这样,工作流就可以在数据目录中创建元数据表,并将数据写入 Amazon S3 中的目标位置。有关更多信息,请参阅(可选)为工作流程创建 IAM 角色Lake Formation 权限概述

通过蓝图创建工作流
  1. 通过 https://console.aws.amazon.com/lakeformation/ 打开 Amazon Lake Formation 控制台。以数据湖管理员或具有数据工程师权限的用户身份登录。有关更多信息,请参阅 Lake Formation 角色和 IAM 权限参考

  2. 在导航窗格中,选择蓝图,然后选择使用蓝图

  3. 使用蓝图页面上,选择一个磁贴以选择蓝图类型。

  4. 导入来源下,指定数据来源。

    如果要从 JDBC 源导入,请指定以下内容:

    • 数据库连接 - 从列表中选择一个连接。使用 Amazon Glue 控制台创建其他连接。连接中的 JDBC 用户名和密码决定了工作流有权访问的数据库对象。

    • 来源数据路径 - 输入 <database>/<schema>/<table><database>/<table>,具体取决于数据库产品。Oracle Database 和 MySQL 不支持路径中的架构。您可以用百分比 (%) 字符替换 <schema><table>。例如,对于系统标识符 (SID) 为 orcl 的 Oracle 数据库,输入 orcl/% 以导入连接中指定的用户有权访问的所有表。

      重要

      此字段区分大小写。如果任何组件存在大小写不匹配的情况,则工作流将失败。

      如果指定 MySQL 数据库,则 Amazon Glue ETL 默认使用 Mysql5 JDBC 驱动程序,因此 MySQL8 不受原生支持。您可以将 ETL 作业脚本编辑为使用 customJdbcDriverS3Path 参数,如《Amazon Glue 开发人员指南》中的 JDBC connectionType 值中所述,以使用支持 MySQL8 的其他 JDBC 驱动程序。

    如果要从日志文件导入,请确保您为工作流指定的角色(“工作流角色”)具有访问数据来源所需的 IAM 权限。例如,要导入 Amazon CloudTrail 日志,用户必须具有 cloudtrail:DescribeTrailscloudtrail:LookupEvents 权限才能在创建工作流时查看 CloudTrail 日志列表,并且工作流角色必须具有对 Amazon S3 中 CloudTrail 位置的权限。

  5. 请执行下列操作之一:

    • 对于数据库快照蓝图类型,可以选择通过指定一个或多个排除模式来识别要导入的一部分数据。这些排除模式是 Unix 风格的 glob 模式。它们将存储为由工作流创建的表的属性。

      有关可用排除模式的详细信息,请参阅《Amazon Glue 开发人员指南》中的包含和排除模式

    • 对于增量数据库蓝图类型,请指定以下字段。为每个要导入的表添加一行。

      表名称

      要导入的表。必须全部小写。

      书签键

      定义书签键的列名的逗号分隔列表。如果为空,则使用主键确定新数据。每列的大小写必须与数据来源中定义的大小写匹配。

      注意

      仅当主键按顺序递增或递减(无间隙)时,主键才有资格成为默认书签键。如果要使用主键作为书签键并且它有间隙,则必须将主键列命名为书签键。

      书签顺序

      选择升序时,值大于书签值的行将被标识为新行。选择降序时,值小于书签值的行将被标识为新行。

      分区方案

      (可选)分区键列列表,用斜杠 (/) 分隔。示例: year/month/day

      
                控制台的“增量数据”部分包括以下字段:“表名称”、“书签键”、“书签顺序”、“分区方案”。您可以添加或删除行,其中每行用于不同的表。

      有关更多信息,请参阅《Amazon Glue 开发人员指南》中的使用作业书签来跟踪已处理的数据

  6. 导入目标下,指定目标数据库、目标 Amazon S3 位置和数据格式。

    确保工作流角色对数据库和 Amazon S3 目标位置具有所需的 Lake Formation 权限。

    注意

    目前,蓝图不支持加密目标位置的数据。

  7. 选择导入频率。

    您可以使用自定义选项指定 cron 表达式。

  8. 导入选项下:

    1. 输入工作流名称。

    2. 对于角色,选择您在(可选)为工作流程创建 IAM 角色中创建的角色 LakeFormationWorkflowRole

    3. (可选)指定表前缀。该前缀位于工作流创建的数据目录表的名称之前。

  9. 选择创建,然后等待控制台报告已成功创建工作流。

    提示

    您是否收到了以下错误消息?

    User: arn:aws:iam::<account-id>:user/<username> is not authorized to perform: iam:PassRole on resource:arn:aws:iam::<account-id>:role/<rolename>...

    如果是,请检查您是否已在所有策略中将 <account-id> 替换为有效的 Amazon 账号。