AWS Glue Data Catalog
连接到您的 AWS Glue Data Catalog,以在您的 Qlik Open Lakehouse 项目中用作目标。
使用 AWS Glue Data Catalog 作为目标,可以与 AWS 分析生态系统集成,并使 Qlik Open Lakehouse 能够与集中式元数据存储互操作。AWS Glue Data Catalog 充当统一元数据层,允许 Qlik 写入 Iceberg 表,这些表可由 Amazon Athena 等 AWS 原生服务立即查询,无需额外配置。由 Qlik 写入的数据也可供第三方工具使用,无需复制。
先决条件
要创建 AWS Glue Data Catalog 连接,您需要:
-
一个 Amazon S3 目标存储段。
-
如果您正在使用基于角色的身份验证访问存储段,您需要:
-
访问您希望用于该连接的网络集成的权限。
-
角色 ARN。
-
-
如果您正在使用访问密钥身份验证来访问存储段,则需要:
-
您的 AWS 访问密钥 ID。
-
您的 AWS 秘文访问密钥。
-
设置 AWS Glue Data Catalog 连接属性
要配置连接,请执行以下操作:
-
在连接中单击创建连接。
-
选择要创建连接的 空间,或选择 创建新数据空间。
-
从 连接器名称 列表中选择 AWS Glue Data Catalog,或使用 搜索 框。
-
单击 创建,并配置属性:
-
目录区域:从列表中选择您的目录区域。
-
S3 目标存储段:输入存储段的名称。
-
配置身份验证类型。从列表中选择基于角色的或访问密钥身份验证,并为您的选择填写以下信息:
基于角色的
-
网络集成:从列表中选择网络集成。
-
ARN 角色:输入在 AWS 中创建的 ARN 角色。
创建 AWS 角色
要创建 AWS 角色,请执行以下操作:
-
在AWS 控制台中,转到IAM。
-
在角色中,单击创建角色。
-
对于受信任实体类型,选择自定义信任策略。
-
在Qlik Cloud中,在创建 AWS 角色对话框中,复制受信任实体,这是分配给集成中集群的实体。将其粘贴到AWS控制台中。
-
点击角色,然后选择您在上面创建的角色。
-
在权限策略中,点击添加权限,然后选择创建内联策略。
-
在Qlik Cloud中,在创建 AWS 角色对话框中,复制下面的内联策略,并将其粘贴到AWS控制台中,然后将<bucket_name>值更改为您的存储段位置:
-
在角色页面中,在摘要中,复制ARN。
-
在Qlik Cloud中,关闭创建 AWS 角色对话框,并将 ARN 值粘贴到ARN 角色中。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"glue:CreateTable",
"glue:UpdateTable",
"glue:DeleteTable",
"glue:BatchDeleteTable",
"glue:GetTable",
"glue:GetTables",
"glue:CreateDatabase",
"glue:UpdateDatabase",
"glue:GetDatabase",
"glue:GetDatabases",
"glue:GetUserDefinedFunction"
],
"Resource": [
"arn:aws:glue:us-east-2:*:catalog",
"arn:aws:glue:us-east-2:*:database/*",
"arn:aws:glue:us-east-2:*:table/*/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::<bucket_name>"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::<bucket_name>/*"
}
]
}
访问密钥
-
访问密钥:输入您唯一的 AWS 访问密钥 ID 以用于身份验证。
-
秘密密钥:输入您的 AWS 秘密访问密钥以与您的访问密钥一起使用。
定义用户权限
要在 AWS 中创建内联策略,请执行以下操作:
-
在 AWS 控制台 中,转到 IAM。
-
导航到 策略 > 创建策略。
-
在 Qlik Cloud 中,在 创建 AWS 角色 对话框中,复制策略。
-
在 AWS 中,在 策略编辑器 中,粘贴策略,并将 <bucket_name> 参数更改为您的存储段位置:
-
将策略添加到授予 Qlik 访问权限的用户。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"glue:CreateTable",
"glue:UpdateTable",
"glue:DeleteTable",
"glue:BatchDeleteTable",
"glue:GetTable",
"glue:GetTables",
"glue:CreateDatabase",
"glue:UpdateDatabase",
"glue:GetDatabase",
"glue:GetDatabases",
"glue:GetUserDefinedFunction"
],
"Resource": [
"arn:aws:glue:us-east-2:*:catalog",
"arn:aws:glue:us-east-2:*:database/*",
"arn:aws:glue:us-east-2:*:table/*/*"
]
},
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation"
],
"Resource": "arn:aws:s3:::<bucket_name>"
},
{
"Effect": "Allow",
"Action": [
"s3:PutObject",
"s3:DeleteObject",
"s3:DeleteObjectVersion",
"s3:GetObject",
"s3:GetObjectVersion"
],
"Resource": "arn:aws:s3:::<bucket_name>/*"
}
]
}
在 名称 中,输入连接的显示名称。
支持的数据类型
下表显示了支持的 Iceberg 源数据类型及其到 Qlik Talend Data Integration 数据类型的默认映射。
| Iceberg 数据类型 | Qlik Talend Data Integration 数据类型。 |
|---|---|
| BOOLEAN | BOOLEAN |
| BYTES | BINARY |
| DATE | DATE |
| TIME | TIME |
| DATETIME | TIMESTAMP |
| INT1 | INT |
| INT2 | INT |
| INT4 | INT |
| INT8 | LONG |
| NUMERIC | DECIMAL(精确度, 小数位数) |
| REAL4 | FLOAT |
| REAL8 | DOUBLE |
| UINT1 | INT |
| UINT2 | LONG |
| UINT4 | LONG |
| UINT8 | DECIMAL(20, 0) |
| STRING | STRING |
| WSTRING | STRING |
| BLOB | BINARY |
| NCLOB | STRING |
| CLOB | STRING |