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