AWS Glue データ カタログ
AWS Glue データ カタログに接続し、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] の Policyエディタで、ポリシーを貼り付け、<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(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 |