【ThoughtSpot CS Tools】extractorについて

ThoughtSpot CS Toolsのextractorについてご紹介します

 

ThoughtSpot CS Toolsの概要のご紹介のページはこちらとなります。

 

ThoughtSpotのCS Toolsは以下の機能があります。今回はこのうち「extractor」についてご説明します。

  • archiver ・・・ プラットフォーム内の古い回答とライブボードを管理する
  • bulk-deleter ・・・ プラットフォームからメタデータオブジェクトを一括削除する
  • bulk-sharing ・・・ ブラウザ内でテーブルおよび列レベルのセキュリティをスケーラブルに管理する
  • extractor ・・・ ワークシート、ビュー、またはテーブルからデータを抽出する
  • git ・・・ 開発者にとって使いやすい方法でvsc/git APIエンドポイントを使用する
  • scriptability ・・・ ThoughtSpot環境間でTMLをメンテナンスする
  • searchable ・・・ ThoughtSpotでThoughtSpotメタデータを探索する
  • usermanagement ・・・ ユーザーを一括管理する(現在ユーザー削除と所有オブジェクトの移転のみが行えます)

 

CS Tools「extractor」とは?

extractorは、ThoughtSpotに登録されているデータソース(テーブル、モデル、ビュー)からデータを抽出する機能です。実際のところ、通常のThoughtSpotのトークン検索(検索キーワード)を行うのと同じトークン(検索キーワード)を使ってデータを取得することが可能です。

 

全体(機能問わず)で共通のオプション

以下は、各機能共通のオプションになります(すべての機能で有効になるわけではないのでご注意ください)。

--config:コマンドの対象となるThoughtSpotのクラスタの接続先の設定ファイルを指定します。ほぼすべてのコマンドで必須です。

--temp-dir:一時ファイルが作成されるフォルダを指定します

--verbose:「cs_tools logs report」で出力することのできるログファイルについて、このオプションを設定するとより詳しいログを得ることが可能になります。

extractorについて

繰り返しになりますが、extractorは、ThoughtSpotに登録されているデータソース(テーブル、モデル、ビュー)からデータを抽出するものです。オプションとしては、「search」のみとなります。抽出といいつつ、通常のSearch(検索)を行うように、検索トークンを設定し、データを取得できるものです。Rest APIのmetadata/answer/dataと同等と考えて良いと思います。

 

searchオプション

extractorは1オプションしかなく、本オプションのみとなります。

オプション:

--identifier:抽出元のデータソース(テーブル、モデル、ビュー)のGuidを指定します。

--search-tokens:サーチトークンは、TMLで確認できるものをそのまま利用可能です。例えば、「売上、オーダー日」をTMLで確認すると「"[売上] [オーダー日] [オーダー日].monthly”」となります。これをこのまま使います。

Answerの検索バー上の検索トークン:

上のAnswerをTMLで確認すると以下のようになります:

基本的にはこのTMLで見えているものと同じものを使います。

--frendly-names/--original-names:カラム名をそのままにするか(--original-names)、SQLフレンドリーな名称(小文字かつアンダースコア)に変更するかを選択します。デフォルトは「--frendly-names」なので、SQLフレンドリーな名称になります。

--syncer:得られるデータは、Syncerで指定した保存先に保存されます。

--target:出力先のファイル名やテーブル名を指定します。CSVだとそのままこれがファイル名になります。

その他、以下の共有オプションが利用可能です。

--config(必須)、--temp-dir、--verbose

 

使用例:

cs_tools tools extractor search --identifier 7162ec31-08e3-44b0-b0b6-104db04c5971 --search-tokens "[売上] [オーダー日] [オーダー日].monthly" --syncer "csv://directory=.&delimiter=|" --target test --config mysetting 

 

上記のものを実行すると、以下のような画面でデータを取得できます。

実際に取得できたデータは以下のとおりです。

※2025/11/04時点の情報です

おすすめの記事