はじめに
今回は watsonx.dataとDb2連携について、主にwatsonx.data のWeb Consoleから Db2がどのようにみえるのかをご紹介します。ここでは Db2 Warehouseを例に使用しています。
watsonx.data は オープン・データレイクハウス・アーキテクチャーで お持ちのデータベースを統合して使用することができます。
Db2のデータベースも watsonx.data に登録し Prestoエンジンを使用してデータを参照することが可能です。
参考文献 - watsonx.dataにDb2を登録する方法
watsonx.dataとDb2連携の構成方法については 次をご参照ください。
- watsonx.data 1.1.x Adding a database-catalog pair
環境
ここで使用している環境を述べます。
- OCP 4.14.17
- CP4D 4.8.4
- Db2 Warehouse 11.5.8.0-cn8
- watsonx.data 1.1.3
今回は Db2 Warehouseを使用していますが Db2でもほぼ同じです。
インフラストラクチャー・マネージャーで詳細を見る
まずは watsonx.data のWeb Consoleのインフラストラクチャー・マネージャーからDb2関連の登録状況をみてみましょう。
左のメニューのをクリックすると インフラストラクチャー・マネージャーの画面に入れます。
"参考文献 - watsonx.dataにDb2を登録する方法"に掲載した手順でDb2を登録を登録します。
ここで使用する環境のインフラストラクチャー・マネージャーの表示です。
3段構成になっていて、上段右の"エンジン"presto-01,中段の"カタログ"右のほうに2つのDb2からそれぞれ下段2つのデータベースDb2がつながっているのがわかります。(オレンジで囲っている部分)
上から順にみていきます。
エンジン
エンジンには Prestoを使用しています。
Presto は、分散 SQL 照会エンジンであり、さまざまなデータ・ソースに配置された膨大なデータ・セットを照会して、大規模なデータ問題を解決する機能を備えています。
"エンジン presto-01"をクリックすると詳細を見ることができます。
使用しているPrestoのバージョンや構成が表示されています。
外部ホストに記述されているのは Presto ConsoleへのURLです。
カタログ
Prestoでカタログは、スキーマ(Schema)を含みコネクターを経由してデータ・ソースを参照します。
ここではDb2 コネクターを経由して Db2 データベースへの接続を提供しています。
"カタログ db2wh1"をクリックすると詳細を見ることができます。タイプがIBM Db2となっていて Db2 Connectorを使用しています。
"データ・オブジェクト"タブをみてみましょう。 アクセス可能なオブジェクトがリストされています。
データベース
データベースへの接続構成が保管されています。
"データベース db2wh1" をクリックすると詳細を見ることができます。
今回は同じOCPクラスターに存在するDb2 Warehouseへノードポート(ホスト名 worker-1 ノードポート:32098)を使って接続しています。
データ・マネージャー
データ・オブジェクト
データ・マネージャーでは左側にwatson.dataでアクセス可能なオブジェクトがドリルダウンして表示できます。
データ・マネージャーではまずカタログ一覧が表示されます。 (↓ 1.カタログ)
カタログの中のdb2wh1を開いてみると スキーマのリストが表示されます。Db2経験者の方でしたらなじみのスキーマもリストされていますよね。(↓ 2.スキーマ)
スキーマの一つを開いてみます。 ここでは Db2のサンプルデータベースのような表がリストされています。一つの表を選んでトリコロンをクリックすると実行可能なアクションが表示されます。ドロップが実行できますね。(↓ 3.表)
Db2の表を参照してみましょう
"DEPARTMENT"表を開いてみます。すると "表スキーマ"タブが表示されて列に関する情報が表示されています。
"データ・サンプル"タブでは表に保管されたデータのサンプルが表示されます。
"DDL"タブでは "CREATE TABLE"文が表示されます。
照会ワークスペース
照会ワークスペースでは SQLを実行することができます。
"DEPARTMENT"表に対してSELECTを実行してみましょう。
右側はエディターになっているので自由に編集可能です。
簡単なテンプレートも準備されていて、表名の右の</>
をクリックするとリストされます。
- "パスの生成"を選択すると 表へのフル・パス <カタログ名>.<スキーマ名>.<表名> 例えば "db2wh1"."DB2SAMPL_EN"."DEPARTMENT"がワークシートに追加されます。
- "SELECTの生成"や"ALTERの生成" "DROPの生成"ではオブジェクトに対応したSQLが生成されます。
"SELECTの生成"をクリックして SELECT 文を生成した後 "presto-01で実行"をクリックします。
Db2 Warehouseに保管されているデータがwatsonx.dataで参照できました。
Explain
PrestoでのExplainも簡易表示できます。
SELECT ALL
EP.PROJNO, EP.ACTNO, AC.ACTDESC, EP.EMPNO,EM.FIRSTNME,
EM.MIDINIT, EM.LASTNAME, EP.EMPTIME, EP.EMSTDATE, EP.EMENDATE,'2'
FROM "db2wh1"."DB2SAMPL_EN"."EMPPROJACT" EP, "db2wh1"."DB2SAMPL_EN"."ACT" AC, "db2wh1"."DB2SAMPL_EN"."EMP" EM
WHERE EP.ACTNO = AC.ACTNO AND EP.EMPNO = EM.EMPNO ;
(参考)Presto Consoleでは 多くの情報を参照することができます。 上のSQLのLive Plan
こちらも小さいので ズーム
まとめ
今回は watsonx.dataとDb2連携した時 主にwatsonx.data のWeb Consoleから Db2 WarehouseやDb2がどのようにみえるのかをご紹介しました。