#Tableau Prep Command Line Interface (CLI)
Tableau Prep 2018.2.2 における新機能です。コマンドラインから flow ファイル (.tfl) を実行することができるようになりました。
Tableau Prep ヘルプ
コマンドラインから出力ファイルを更新
これにより、Windows のタスクスケジューラ等を使って Tableau Prep のスケジュール実行が可能になります。
タスクスケジューラ 触ったことないよ、という方は以下の記事を参照ください。
Windowsでbatファイルを自動実行したい時(タスクスケジューラの設定)
#.tfl ファイルをコマンドラインから実行してみる
Tableau Prep では出力形式としてローカルに csv, tde, hyper の各フォーマットで吐き出すか、Tableau Server, Tableau Online にデータソースを Publish するか選べるようになっており、コマンドライン経由でもこれらのアウトプットに対応しています。
##認証資格情報ファイルの作成
入力先となるデータソースへのログイン情報および、出力先となる Tableau Online / Tableau Server へのログイン情報を json ファイルとして定義してあげます。今回は Excel をデータソースとして試すので input は空にして、output だけ定義します。credentials.json と名前を付けて適当なディレクトリに保存します。
{
"inputConnections":[
],
"outputConnections" : [
{
"serverUrl":"server to publish to URL",
"contentUrl":"siteID",
"username":"username",
"password":"password"
}
]
}
##フローの実行
コマンドラインからフローを実行するには、管理者としてコマンドプロンプトを開きます。
-h をつけて実行すると help を参照できます。
Windows:
\<Tableau install location>\Tableau Prep <version>\scripts\tableau-prep-cli.bat -h
-c で認証資格情報ファイルを、-t で .tfl ファイルを指定できます。
\<Tableau install location>\Tableau Prep <version>\scripts\tableau-prep-cli.bat -c \path\to\<credentials file>.json -t \path\to\<flow name>.tfl
##タスクスケジューラに登録
さきほどのコマンドを bat ファイルとして保存し、タスクスケジューラに登録します。
詳細は Windowsでbatファイルを自動実行したい時(タスクスケジューラの設定) を参照ください。
#まとめ
Tableau Prep の処理を自動化することができました。現状は Tableau Prep CLI とタスクスケジューラの合わせ技でどうにか運用に乗りそうです。本来であれば Tableau Server の一機能としてスケジューリング設定ができれば一番よいのですが。
ちなみにスケジューリングに関する機能拡張要望はこちら↓
Tableau Prep - add ability to schedule flows
Tableau Prep Conductor と呼ばれる製品機能が実装されました。Data Management Add-on と呼ばれる追加ライセンスを購入すると機能が使用できます。
https://www.tableau.com/ja-jp/products/add-ons/data-management