AlteryxからThoughtSpotのインメモリデータベースにアクセスする
こんにちは、小澤です。
ThoughtSpotではFalconと呼ばれる内部のインメモリデータベースを利用可能です。 このFalconへデータを投入する方法に関して、コマンドラインから行う方法については以前紹介しました。
今回は、Falconにデータを投入する別な手段として、Alteryxを使う方法を紹介します。
AlteryxのThoughtSpotツール
AlteryxからFalconへデータを投入するには専用のツールを利用します。 ツールはPublic Galleryから入手できます。
ツールを利用するにはPublic Gallery上ででこのワークフローを一度実行します。 完了すると以下のような画面に遷移しますので、そこに記載されたリンクからyxi形式のツールをダウンロードします。
ダウンロードしたyxiファイルをダブルクリックで実行することで、Alteryxへのインストールが完了します。 インストール後は、ThougthSpotタブが追加され、そこにツールが入った状態となります。
ツールは「ThoughtSpot Bulk Loader」と「ThoughtSpot TQL」の2種類があります。 それぞれ使い方を見ていきます。
ThoughtSpot Bulk Loaderツール
ThoughtSpot Bulk Loaderツールはtsloadコマンドを使ったFalconへのデータ投入に相当する機能を提供します。 このツールを使う最もシンプルなワークフローは以下のようになります。
読み込んだデータをFalconに投入するのみのワークフローとなっています。 ツールの設定は「Connection」「Target Table」「Partition」の3つがあります。
「Connection」では、ThougthSpotへの接続方法を設定するものになります。
ここでの認証情報は、ThougthSpotが動いている環境へsshログインするユーザです。 Webから利用するためのログインユーザではないのでご注意ください。 tsloadコマンドを使ってデータを投入可能なユーザを指定します。
「Target Table」では、データの投入先についての指定を行います。 ここでの項目はtsloadコマンドの各オプションに対応したものがあります。
「Partition」はオプショナルな指定項目になります。 大量データを扱う際にパーティショニングを行う際にはこちらの設定を行います。
実行すると、そのログが出力されます。
各種設定に応じてTQLでのデータベースやテーブルの作成が行われたのち、tsloadコマンドを実行した際と同様の結果が出力されます。
ThoughtSpot側からもデータが投入されているのが確認できます。
ThoughtSpot TQLツール
もう1つのツールはThougtSpot TQLツールです。 こちらは、任意のTQLを発行するためのツールとなります。
ツールの設定は以下のようになっています。
設定項目は、接続情報と実行するTQLの2つとなります。 設定情報に関しては、ThoughtSpot Bulk Loaderツールと同様、sshログイン可能なユーザの認証情報となります。 TQLに関しては、直接書くこともファイルで指定することも可能です。
出力は2つあります。
「I」側の出力は実行ログです。 これは、コマンドからTQLを実行した際と同様のものが出力されます。
「O」側の出力は、取得したデータになります。 今回はselect文を実行しているのデータがそのまま帰ってきます。 データは列に分かれておらず、区切り文字でまとまった形式で取得されます。
これは、以下のようにText To Columnsツールで分割して、Dynamic Replaceツールで先頭行を列名に変換しています。
おわりに
今回は、AlteryxとThoughtSpotを連携させるツールの紹介をしました。
Falconにデータ投入する前にデータを整形する必要がある場合にはAlteryxでそれを実行するなどの選択肢が取れます。 また、Alteryx Serverのスケジューラ機能を利用すれば定期的なデータの更新や洗い替えなども可能になります。