0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

watsonx.data に Confluent Tableflow の Iceberg カタログを登録

0
Posted at

この記事では、以下を説明します。

  • Confluent Tableflow(AWS S3 BYOS)の Iceberg テーブルを watsonx.data から参照するための設定手順
  • watsonx.data の Presto エンジンで Tableflow テーブルを SQL クエリする方法

この記事は「ETLなしで工場センサーデータをAI分析へ — Confluent Tableflow × watsonx.data × IBM Bob で即時データ分析をやってみよう」の前提設定として必要な手順をまとめたものです。

参考: Querying Confluent Tableflow using Presto engine

watsonx.data の Presto は Vended Credentials に非対応

watsonx.data の Presto エンジンは Confluent の Vended Credentials(Confluent Managed Storage)に対応していません。
TableFlow のストレージは AWS S3(BYOS: Bring Your Own Storage) で設定する必要があります。

0. 前提条件

以下の環境が必要です:

  • アクティブな Confluent Cloud アカウント
  • BYOS(AWS S3) で Tableflow が有効化済みの Kafka トピック
  • Tableflow 用の API キーとシークレット(スコープ: Tableflow)
  • REST Catalog エンドポイント URL
  • Kafka クラスター ID
  • IBM Cloud の watsonx.data インスタンス(Lite 以上)
  • 稼働中の Presto または Prestissimo エンジン
  • AWS IAM ユーザーの静的な Access Key と Secret Key

尚、watsonx.data の Presto エンジンは IAM ロール(AssumeRole)に非対応のため、IAM ユーザーのアクセスキーが必要です。

1. AWS S3 アクセスキーを取得する

IAM ユーザーの作成

  1. AWS Console で IAM → UsersCreate user をクリック
  2. User name を入力(例: watsonxdata-tableflow-user
  3. NextAttach policies directly を選択
  4. Tableflow の S3 バケットにアクセスできるポリシーを選択してアタッチ
  5. NextCreate user

アクセスキーの発行

  1. 作成したユーザーをクリックして詳細を開く
  2. Security credentials タブを開く
  3. Access keys セクション → Create access key をクリック
  4. Use caseOther を選択して Next
  5. 任意の説明タグを入力して Create access key
  6. Access keySecret access key を必ずコピーして保存する

※ このページを閉じると Secret access key は二度と表示されません。必ずこのタイミングで保存してください。

2. Confluent 側の情報を収集する

REST Catalog エンドポイントの取得

  1. Confluent Cloud Console にログインし、対象の Cluster を開く
  2. 左メニュー Tableflow をクリック
  3. API access セクションの REST Catalog Endpoint をコピーする
https://tableflow.<CLOUD_REGION>.aws.confluent.cloud/iceberg/catalog/organizations/<ORG_ID>/environments/<ENV_ID>

image.png

Tableflow API キーの作成

TableflowのAPIキーがない場合は作成してください。

  1. API access セクション → Create/View API keysAdd API key
  2. Service account または My account を選択して Next
  3. Resource scopeTableflow を選択して Next
  4. Create API key をクリックし、API KeySecret を保存する

Kafka クラスター ID の確認

  1. 対象の ClusterOverview タブを開く
  2. ID(例: lkc-xxxx)をコピーする
    image.png

※ このクラスター ID は watsonx.data 上でスキーマ名になります。手順 5 の SQL 実行の際に使用します。

3. watsonx.data に Custom データソースを登録する

通常の「Add catalog」ではなく、インフラストラクチャー・マネージャー の「Add data source」→「Custom」 から登録します。

  1. watsonx.data コンソールにログインする

  2. 左メニュー インフラストラクチャー・マネージャー を開く

  3. コンポーネントの追加をクリック

  4. データ・ソースのCustom を選択し、「次へ」をクリック
    image.png

  5. 表示名 に任意の名前を入力する(例: confluent_tableflow

  6. Properties セクションに以下のプロパティを追加する

connector.name=iceberg
iceberg.catalog.type=REST
iceberg.rest.uri=<手順 2 で取得した REST Catalog Endpoint>
iceberg.rest.auth.type=OAUTH2
iceberg.rest.auth.oauth2.credential=<手順 2で取得したTableflow APIKEY>:<手順 2で取得したTableflow APIKEYのSECRET>
hive.s3.aws-access-key=<手順 1 で取得した Access Key>
hive.s3.aws-secret-key=<手順 1 で取得した Secret Key>
  1. カタログの関連付け チェックボックスをオンにする
  2. カタログ名 に任意の名前を入力する
  3. 作成 をクリックする
    image.png

4. Presto エンジンにカタログを関連付ける

  1. *インフラストラクチャー・マネージャー を開く

  2. Presto エンジンのタイルにマウスを重ね、関連付けの管理 をクリック
    image.png

  3. 手順 3 で作成したカタログ(<catalog-name>)を選択する
    image.png

  4. 保存してエンジンを再始動する をクリックする

※ エンジンを再起動するため、実行中のクエリが中断されることがあります。

5. データ・マネージャー でスキーマとテーブルを確認する

では データ・マネージャー から Tableflow の Iceberg テーブルが正しく認識されているか確認してみます!

  1. 左メニュー データ・マネージャー を開く
  2. 左ペインのカタログ一覧から <catalog-name> を展開する
  3. スキーマとして Kafka クラスター ID(例: lkc-5g8orq)が表示されていることを確認する
  4. クラスター ID のスキーマを展開すると、Tableflow で有効化したトピック名のテーブルが表示される

dm01.jpg

テーブルをクリックすると列の定義も確認できます。
dm01.jpg

※ Tableflow を有効化した直後はテーブルが表示されないことがあります。最初の Iceberg snapshot がコミットされると自動的に表示されます。しばらく待ってからページを更新してみてください。

スキーマとテーブルが表示されれば設定完了です!

次のステップとして、Tableflow の有効化とデータ投入に進んでください。

ぜひ「ETLなしで工場センサーデータをAI分析へ — Confluent Tableflow × watsonx.data × IBM Bob で即時データ分析をやってみよう」で試してみてください!

参考情報

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?