Catalogo dati AWS Glue
Connettersi al catalogo dati AWS Glue per utilizzarlo come destinazione nei progetti Qlik Open Lakehouse.
L'utilizzo del catalogo dati AWS Glue come destinazione offre l'integrazione con l'ecosistema analitico di AWS e consente a Qlik Open Lakehouse di interagire con un archivio di metadati centralizzato. Il catalogo dati AWS Glue funge da livello di metadati unificato, consentendo a Qlik di scrivere tabelle Iceberg su cui è possibile eseguire immediatamente query dai servizi nativi di AWS, come Amazon Athena, senza ulteriori configurazioni. I dati scritti da Qlik sono disponibili anche per gli strumenti di terze parti senza replica.
Prerequisiti
Per creare una connessione al catalogo dati AWS Glue, sono necessari:
-
Un bucket di destinazione Amazon S3.
-
Se si utilizza l'autenticazione basata sui ruoli per accedere al bucket, sono necessari:
-
L'autorizzazione per accedere all'integrazione di rete che si desidera utilizzare per la connessione.
-
Il ruolo ARN.
-
-
Se si utilizza l'autenticazione della chiave di accesso per accedere al bucket, sono necessari:
-
L'ID della chiave di accesso di AWS.
-
La chiave di accesso segreta di AWS.
-
Impostazione delle proprietà di connessione del catalogo dati AWS Glue
Per configurare la connessione, fare quanto segue:
-
In Connessioni, fare clic su Crea connessione.
-
Selezionare lo Spazio in cui si desidera creare la connessione, oppure scegliere Crea nuovo spazio dati.
-
Selezionare Catalogo dati AWS Glue dall'elenco dei nomi dei connettori o utilizzare la casella di ricerca.
-
Fare clic su Crea, e configurare le proprietà:
-
Regione catalogo: dall'elenco, selezionare la regione del catalogo.
-
Bucket di destinazione S3: inserire il nome del bucket.
-
Configurare il tipo di autenticazione. Dall'elenco, selezionare l'autenticazione basata sui ruoli o sulla chiave di accesso e completare le seguenti informazioni per la selezione completata:
Basato sui ruoli
-
Integrazione di rete: selezionare l'integrazione di rete dall'elenco.
-
Ruolo ARN: inserire il ruolo ARN creato in AWS
Creare un ruolo AWS
Per creare un ruolo AWS, fare quanto segue:
-
Nella Console AWS, andare a IAM.
-
Fare clic su Ruoli, quindi fare clic su Crea ruolo.
-
Per il tipo di entità attendibile, selezionare il Criterio di attendibilità personalizzato.
-
In Qlik Cloud, nella finestra dialogo Crea un ruolo AWS, copiare l'entità attendibile, che è l'entità assegnata ai cluster nell'integrazione. Copiarla nella console di AWS.
-
Fare clic su Ruoli e selezionare il ruolo creato in precedenza.
-
In Criteri autorizzazione, fare clic su Aggiungi autorizzazioni e selezionare Crea criterio inline.
-
In Qlik Cloud, nella finestra di dialogo Crea un ruolo AWS, copiare il criterio inline qui sotto, quindi incollarlo nella console di AWS e cambiare il valore di <nome_bucket> con la posizione del bucket:
-
Dalla pagina Ruolo, in Riepilogo, copiare l'ARN.
-
In Qlik Cloud, chiudere la finestra di dialogo Crea un ruolo AWS e incollare il valore dell'ARN nel Ruolo 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>/*"
}
]
}
Chiave di accesso
-
Chiave di accesso: inserire l'ID univoco della chiave di accesso AWS da utilizzare per l'autenticazione.
-
Chiave segreta: inserire la chiave di accesso segreta di AWS da utilizzare con la chiave di accesso.
Definire le autorizzazioni utente
Per creare un criterio inline in AWS, fare quanto segue:
-
Nella Console AWS, andare a IAM.
-
Vada Andare a Criteri > Crea criterio.
-
In Qlik Cloud, nella finestra di dialogo Crea un ruolo AWS, quindi copiare il criterio.
-
In AWS, nell'Editor criteri, incollare il criterio e cambiar il parametro <nome_bucket> con la posizione del bucket:
-
Aggiungere il criterio all'utente che fornisce accesso a 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>/*"
}
]
}
In Nome, inserire il nome visualizzato per la connessione.
Tipi di dati supportati
La tabella seguente mostra i tipi di dati Iceberg supportati e la relativa mappatura predefinita ai tipi di dati di Qlik Talend Data Integration.
| Tipi di dati Iceberg | Tipi di dati 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 |