AWS Glue Data Catalog
Conecte-se ao seu AWS Glue Data Catalog para usá-lo como destino em seus projetos do Qlik Open Lakehouse.
O uso do AWS Glue Data Catalog como destino fornece integração com o ecossistema de análise do AWS e permite que o Qlik Open Lakehouse interopere com um armazenamento de metadados centralizado. O AWS Glue Data Catalog atua como a camada unificada de metadados, permitindo que o Qlik grave tabelas do Iceberg que são imediatamente consultáveis por serviços nativos da AWS, como o Amazon Athena, sem configuração adicional. Os dados gravados pelo Qlik também estão disponíveis para ferramentas de terceiros sem replicação.
Pré-requisitos
Para criar uma conexão com o AWS Glue Data Catalog, você precisa:
-
Um compartimento de destino do Amazon S3.
-
Se estiver usando a autenticação baseada em função para acessar o compartimento, você precisará:
-
Permissão para acessar a integração de rede que você deseja usar para a conexão.
-
A função ARN.
-
-
Se você estiver usando autenticação de chave de acesso para acessar o compartimento, precisará:
-
Seu ID da chave de acesso da AWS.
-
Sua chave de acesso secreto da AWS.
-
Configurando propriedades de conexão do AWS Glue Data Catalog
Para configurar a conexão, faça o seguinte:
-
Em Conexões, clique em Criar conexão.
-
Selecione o Espaço onde você deseja criar a conexão ou escolha Criar novo espaço de dados.
-
Selecione AWS Glue Data Catalog na lista Nome do conector ou use a caixa Pesquisar.
-
Clique em Criar e configure as propriedades:
-
Região do catálogo: na lista, selecione a região para seu catálogo.
-
Compartimento de destino S3: digite o nome do compartimento.
-
Configure o Tipo de autenticação. Na lista, selecione a autenticação Baseada em função ou Chave de acesso e preencha as informações a seguir para sua seleção:
Baseado em função
-
Integração de rede: selecione a integração de rede na lista.
-
Função ARN: insira a função ARN criada na AWS.
Criar uma função do AWS
Para criar uma função do AWS, faça o seguinte:
-
No Console do AWS, acesse IAM.
-
Em Funções, clique em Criar função.
-
Em Tipo de entidade confiável, selecione Política de confiança personalizada.
-
No Qlik Cloud, na caixa de diálogo Criar uma função do AWS, copie a Entidade confiável, que é a entidade atribuída aos clusters em sua integração. Cole-o no console do AWS.
-
Clique em Funções e selecione a função que você criou acima.
-
Em Políticas de permissão, clique em Adicionar permissões e selecione Criar política inline.
-
No Qlik Cloud, na caixa de diálogo Criar uma função do AWS, copie a política inline abaixo e cole-a no console do AWS e altere o valor <bucket_name> para a localização do seu compartimento:
-
Na página Função, em Resumo, copie o ARN.
-
No Qlik Cloud, feche a caixa de diálogo Criar uma função do AWS e cole o valor do ARN na função do 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>/*"
}
]
}
Chave de acesso
-
Chave de acesso: digite o ID exclusivo da chave de acesso da AWS a ser usado para autenticação.
-
Chave secreta: digite sua chave de acesso secreta da AWS para usar com sua chave de acesso.
Definir permissões do usuário
Para criar uma política inline no AWS, faça o seguinte:
-
No Console do AWS, acesse IAM.
-
Navegue até Políticas > Criar política.
-
No Qlik Cloud, na caixa de diálogo Criar uma função do AWS, copie a política.
-
No AWS, no Editor de políticas, cole a política e altere o parâmetro <bucket_name> para a localização do seu compartimento:
-
Adicione a política ao usuário que dá acesso ao 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>/*"
}
]
}
Em Nome, insira o nome de exibição da conexão.
Tipos de dados suportados
A tabela a seguir mostra os tipos de dados de origem compatíveis do Iceberg e seu mapeamento padrão para tipos de dados do Qlik Talend Data Integration.
| Tipos de dados do Iceberg | Tipos de dados do Qlik Talend Data Integration. |
|---|---|
| BOOLEAN | BOOLEAN |
| BYTES | BINARY |
| DATE | DATE |
| TIME | TIME |
| DATETIME | TIMESTAMP |
| INT1 | INT |
| INT2 | INT |
| INT4 | INT |
| INT8 | LONG |
| NUMERIC | DECIMAL(precision, scale) |
| REAL4 | FLOAT |
| REAL8 | DOUBLE |
| UINT1 | INT |
| UINT2 | LONG |
| UINT4 | LONG |
| UINT8 | DECIMAL(20, 0) |
| STRING | STRING |
| WSTRING | STRING |
| BLOB | BINARY |
| NCLOB | STRING |
| CLOB | STRING |