LoginSignup
1
0

watsonx.dataのPrestoをDomoに繋げようとしてみた

Last updated at Posted at 2023-10-12

記事の概要

watsonx.dataのSaaS版が使えたので、DomoというBIツールに繋げてみようと思います。

どんなソリューションか

watsonx.dataはいわゆるレイクハウスであり、クエリーエンジン層とストレージ層が分離している。データレイクにデータをおいたまま、分析できる時代が来たのか。
使用用途・ユーザーに応じてエンジンを使い分けられるので、コストは安くなるだろう(ETL処理などは格安エンジンのPrestoを使用など)。また、データレイクにデータが溜まっているので、データ分析までの時間も短縮するかもしれない。データウェアハウスの高い料金も抑えられるかも。。。まぁ、とりあえず使ってみたいと思います。
watsonx.dataのHPはこちら
Domoとは、データの価値を引き出し、ビジネス成果を最大化するクラウドBIツールらしい。また30日間は無料で使える。
DomoのHPはこちら

watsonx.dataにアクセス

  1. ibmcloudにログイン。その後左側のハンバーガーニューから「watsonx」を選択する。
    image.png
  2. watsonx.dataの「Launch」を選択する。(まだ一回も使っていない場合は、「Get start」で始めてください)
    image.png
  3. watsonx.dataのHP画面にいけると思うので、その後必要に応じて、「コンポーネントの追加」から、エンジンやバケット、データベースを追加していく。
    image.png

Domo編

  1. Domoにログインすると以下のようなトップに入る。その後、「データ」を選択して、データベースやフェデレーテッドで繋いでいく。
    image.png
    image.png
  2. Prestoは、「フェデレーテッド」で追加ができそうなので、「フェデレーテッド」を選択する。
    image.png
  3. アカウントを作成する必要があるので、フェデレーテッドDBとして、Prestoを選択し、接続情報を入れていく。Prestoの情報取得は、こちらの記事を参考にしました。
    image.png
    image.png
  4. アカウントが作成したのちに、そのアカウントを選択し、テーブルを見てみる。
    image.png
  5. 見たい対象のテーブルを選択していく。
    image.png
  6. おっと、Offsetが有効になっていないため、テーブルの中身を見ることができない。スキーマは見ることはできました。
    image.png
    image.png
  7. Prestoのドキュメントを読んでみると、なんと「Add support for the OFFSET clause in SQL query expressions. This feature can be enabled by setting the session property offset_clause_enabled or configuration property offset-clause-enabled to true.」とあった。SaaS版のwatsonx.dataのどこで設定するのだろうか。2023年10月12日時点ではパッとはわからなかった。。。
  8. 気を取り直して、Db2を登録してみようと思う。
  9. 「データベース」を選択して、「Db2」と入力し、「IBM DB2 Connector」を選択する。
    image.png
  10. Db2のアクセスに必要な情報を入れていく。今回は、Db2 on cloudを使用しています。
    image.png
  11. フェデレーテッドの時と同様アカウントが作れたら、必要なテーブルを選択していく。
    image.png
    image.png
  12. データの更新頻度など諸々設定したのちに、このデータセットの名前を入力して、「保存して実行」を押す。
    image.png
    image.png
  13. 少し時間が経つと、以下のようにデータを読み込み、データの可視化・分析ができるようになりました。
    image.png
    image.png

SW版のPrestoのconfig.propertiesにてoffsetの設定(2023/10/29 追記)

watsonx.dataを構築した環境へアクセス。root権限ではない場合、切り替えてください。
その後、dockerで立ち上げます。

docker exec -it ibm-lh-presto /bin/bash

「config.properties」を探します。一般的にはこちら「/opt/presto/etc」にありますが、ない場合は、findコマンドで探してください。
vimでconfig.propertiesを編集します。「offset-clause-enabled=true」を追記します。

vim /opt/presto/etc/config.properties

以下のようになっていればOKです。

cat /opt/presto/etc/config.properties
#coordinator=true
#discovery-server.enabled=true
#discovery.uri=http://ibm-lh-presto-svc:8080
#http-server.authentication.type=PASSWORD
#http-server.http.port=8080
#http-server.https.enabled=true
#http-server.https.excluded-#cipher=TLS_DHE_RSA_WITH_AES_256_GCM_SHA384,TLS_DHE_RSA_WITH_AES_256_CBC_SHA256,TLS_DHE_RSA_WITH_AES_128_GCM_SHA256,TLS_DHE_RSA_WITH_AES_128_CBC_SHA256,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_GCM_SHA384,TLS_RSA_WITH_AES_256_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_RSA_WITH_AES_128_GCM_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
#http-server.https.keystore.key=XXXXXXXXXXXX
#http-server.https.keystore.path=/opt/presto/presto-keystore.jks
#http-server.https.port=XXXX
#node-scheduler.include-coordinator=false
#task.concurrency=16
#offset-clause-enabled=true

exitで環境から出て、dockerの再起動を行います。

docker restart ibm-lh-presto

以上でoffsetの設定が完了です。

最後に

今回は、PrestoのOffsetの設定がわからずだったのですが、わかったらもう一度チャレンジしたいと思います。
同一のデータレイクにデータをiceberg形式で貯めておけば、データを移動せずにどのエンジンからもアクセスすることができると思うので、それを実感したかったです。よし、違うBIツールでも試しみよう。確かTableauでは動くと記載があったはず!
また、今は、watsonx.dataのエンジンがPrestoしかないのですが、今後Db2 Warehouse on CloudやNetezzaが対応してきたら、それらも追加してみて動きを見てみたいと思います。

2023/10/29 追記
SW版だとPrestoのOffsetの設定が明らかになりました。SaaS版で使用するときについて判明したら、また追記します。

1
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
1
0