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のスケジューラ機能を利用すれば定期的なデータの更新や洗い替えなども可能になります。