【Dataiku】SQL Query Recipe と SQL Script Recipe の違い

【Dataiku】SQL Query Recipe と SQL Script Recipe の違い | Tableau-id Press -タブロイド-
dataiku

はじめに

こんにちは!h.ishikawaです。

DataikuのSQLレシピをクリックすると、2種類選択肢が表示されます。

最初に利用する際に「え、どっち使えばいいの?」と思ったので、それぞれの特徴をまとめてみました!

SQL Query Recipe と SQL Script Recipe の違い

1. インプットとアウトプット

SQL Query Recipe SQL Script Recipe
インプット 複数 複数
アウトプット 単一 複数
アウトプットデータセットの種類 なんでもOK Databaseのみ

 

インプットテーブルはともに複数選択することが可能ですが、アウトプットについてはSQL Query Recipeは単一、SQL Script Recipeは複数選択可となります。

また、アウトプットのデータセットの種類については、SQL Script RecipeはSnowflakeなどのDatabaseのみ利用が可能となっております。

2. 利用できるメソッド

SQL Query Recipe SQL Script Recipe
SELECT
INSERT
CTE (“WITH”) ×
UPDATE ×
MERGE ×

 

個人的にはこの部分の差異が、SQL Query Recipe と SQL Script Recipe の使い分けの大きなポイントと考えています。

SQL Query Recipeでは、SELECTやINSERTを実施することは可能ですが、CTE (“WITH”) 、UPDATE 、MERGE が利用できないため、これらのメソッドを利用する場合はSQL Script Recipeを利用する必要があります。

3. こぼれ話

SQLレシピに限った話ではないですが、INSERTやMERGEなどでレコードを追加・更新したいときに、Dataikuと更新先のテーブルのデータ型が合わないと、テーブルが一度DROPされてしまい、追加・更新ができません。

そのため、Dataikuと更新先のテーブルのデータ型に差異が発生しないよう調整する必要があります。

参考

SQL recipes

Concept | SQL code recipes

おわりに

truestarではDataikuの検討、導入支援や環境構築から導入後の運用まで幅広くサポート可能です。

Dataikuに興味がある、導入済みだけどもっとうまく活用したい等々ありましたら、ぜひこちらからご相談ください。