
はじめに
こんにちは!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と更新先のテーブルのデータ型に差異が発生しないよう調整する必要があります。
参考
おわりに
truestarではDataikuの検討、導入支援や環境構築から導入後の運用まで幅広くサポート可能です。
Dataikuに興味がある、導入済みだけどもっとうまく活用したい等々ありましたら、ぜひこちらからご相談ください。