本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建工作流
在开始之前,请确保已向角色 LakeFormationWorkflowRole 授予所需的数据权限和数据位置权限。这样,工作流就可以在数据目录中创建元数据表,并将数据写入 Amazon S3 中的目标位置。有关更多信息,请参阅(可选)为工作流创建 IAM 角色和 Lake Formation 权限概述。
注意
Lake Formation 使用 GetTemplateInstance、GetTemplateInstances 和 InstantiateTemplate 操作根据蓝图创建工作流。这些操作不对外公开,仅在内部使用,用于代表您创建资源。您会收到创建工作流程 CloudTrail 的事件。
通过蓝图创建工作流
-
打开 AWS Lake Formation 控制台,网址为https://console.aws.amazon.com/lakeformation/
。以数据湖管理员或具有数据工程师权限的用户身份登录。有关更多信息,请参阅 Lake Formation 角色和 IAM 权限参考。 -
在导航窗格中,选择蓝图,然后选择使用蓝图。
-
在使用蓝图页面上,选择一个磁贴以选择蓝图类型。
-
在导入来源下,指定数据来源。
如果要从 JDBC 源导入,请指定以下内容:
-
数据库连接 - 从列表中选择一个连接。使用 AWS Glue 控制台创建其他连接。连接中的 JDBC 用户名和密码决定了工作流有权访问的数据库对象。
-
源数据路径-根据数据库产品输入
<database>//<table>或<database><schema>/<table>。Oracle Database 和 MySQL 不支持路径中的架构。可以用百分比 (%) 字符代替<schema>或<table>。例如,对于系统标识符 (SID) 为orcl的 Oracle 数据库,输入orcl/%以导入连接中指定的用户有权访问的所有表。重要
此字段区分大小写。如果任何组件存在大小写不匹配的情况,则工作流将失败。
如果您指定 MySQL 数据库,则 AWS Glue ETL 默认使用 Mysql5 JDBC 驱动程序,因此本机不支持 mySQL8。您可以将 ETL 作业脚本编辑为使用
customJdbcDriverS3Path参数,如《AWS Glue 开发人员指南》中的 JDBC connectionType 值中所述,以使用支持 MySQL8 的其他 JDBC 驱动程序。
如果要从日志文件导入,请确保您为工作流指定的角色(“工作流角色”)具有访问数据来源所需的 IAM 权限。例如,要导入 AWS CloudTrail 日志,用户必须拥有
cloudtrail:DescribeTrails和cloudtrail:LookupEvents权限才能在创建工作流程时查看 CloudTrail 日志列表,并且工作流程角色必须拥有对 Amazon S3 中该 CloudTrail 位置的权限。 -
-
请执行以下操作之一:
-
对于数据库快照蓝图类型,可以选择通过指定一个或多个排除模式来识别要导入的一部分数据。这些排除模式是 Unix-style
glob模式。它们将存储为由工作流创建的表的属性。有关可用排除模式的详细信息,请参阅《AWS Glue 开发人员指南》中的包含和排除模式。
-
对于增量数据库蓝图类型,请指定以下字段。为每个要导入的表添加一行。
- 表名
-
要导入的表。必须全部小写。
- 书签键
-
Comma-delimited 定义书签键的列名列表。如果为空,则使用主键确定新数据。每列的大小写必须与数据来源中定义的大小写匹配。
注意
仅当主键按顺序递增或递减(无间隙)时,主键才有资格成为默认书签键。如果要使用主键作为书签键并且它有间隙,则必须将主键列命名为书签键。
- 书签顺序
-
选择升序时,值大于书签值的行将被标识为新行。选择降序时,值小于书签值的行将被标识为新行。
- 分区方案
-
(可选)分区键列列表,用斜杠 (/) 分隔。示例:
year/month/day。
有关更多信息,请参阅《AWS Glue 开发人员指南》中的使用作业书签来跟踪已处理的数据。
-
-
在导入目标下,指定目标数据库、目标 Amazon S3 位置和数据格式。
确保工作流角色对数据库和 Amazon S3 目标位置具有所需的 Lake Formation 权限。
注意
目前,蓝图不支持加密目标位置的数据。
-
选择导入频率。
您可以使用自定义选项指定
cron表达式。 -
在导入选项下:
-
输入工作流名称。
-
对于角色,选择您在(可选)为工作流创建 IAM 角色中创建的角色
LakeFormationWorkflowRole。 -
(可选)指定表前缀。该前缀位于工作流创建的数据目录表的名称之前。
-
-
选择创建,然后等待控制台报告已成功创建工作流。
提示
您是否收到了以下错误消息?
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>使用了有效的 AWS 账号。