SQLアクションでSQLステートメントを実行する
SQLアクションを使用すると、SQLクエリを記述し、Data Processing Engineアクションとしてデータセットやテーブルに対して実行できます
目的
SQLアクションを使用すると、SQLクエリを記述し、Data Processing Engineアクションとしてデータセットやテーブルに対して実行できます。他のアクションと同様に、オンデマンドで実行したり、cronトリガーでスケジュールしたり、ワークフロー内でオーケストレーションしたりできます。
クエリは、基盤となるTrinoエンジン上で実行されるため、テーブルは完全修飾catalog.schema.table形式でアドレス指定されます。下記のテーブルパネルは、その名前を構築してくれるため、手動で入力する必要はほとんどありません。
デフォルトでは、SQLアクションは2 DPUで実行されます。設定画面の上部にあるリソースセレクターから割り当てを調整できます。
SQLアクションの設定
設定画面には2つのパネルがあります:左側のTablesブラウザは、アセットを検索して参照するのに役立ち、右側のSQLクエリエディタは、ステートメントを記述して検証する場所です。
テーブルをブラウズして名前をコピーする
Tablesパネルには、プロジェクト内のデータセットがリスト表示され、それぞれを展開してテーブルとその属性を確認できます。検索ボックスを使用してアセットを迅速に検索し、クリックして名前をクリップボードにコピーできます。クエリに直接使用できるように整形されています。
これにより、各データセットがTrinoのカタログとスキーマにどのようにマッピングされるかを覚えておく必要がなくなり、クエリが最初に解決されるようにエンジンがサポートされます。
クエリを記述して検証する
SQLクエリエディタにクエリを入力します。開始点が必要な場合は、ページの下部にあるQuery examplesドロワーを開き、任意の例をクリックしてエディタにコピーできます。
クエリが準備できたら、Validateをクリックします。これにより、クエリがドライランとして実行され、成功するとエディタの下部にvalidation summaryが表示されます:EXPLAINの整形されたバージョンで、そのクエリが何をするかを教えてくれ、そのクエリタイプの主要な詳細を示します。
Validateは作成を制限しません。Createボタンは常に利用可能ですが、まず検証するのがベストプラクティスです:アクションをコミットする前に、クエリが正しく形成され、テーブルに解決されることを確認します。
満足したら、右上のCreateをクリックしてアクションを作成します。
サポートされているクエリタイプ
SQLアクションは、幅広いステートメントをサポートしています。エンジンは各クエリのタイプを認識し、それに応じて動作します:
- 読み取り:何も変更せずに行を返します。
- メタデータ:スキーマまたはクエリプランを検査します。
- DML:テーブル内の行を変更します。
- DDL:テーブルの構造を変更します。
下記のタブを選択して、各タイプの例クエリを確認できます:
アクセス制御ステートメントのようなGRANTとREVOKEはサポートされておらず、検証中に拒否されます。
クエリからテーブルを作成する
SELECTを実行すると、アクションはクエリ結果から新しいテーブルを作成するオプションを提供します。
CREATE TABLE AS SELECT(CTAS)またはその他のCREATEステートメントを使用してアクションを作成して実行すると、テーブルはターゲットデータセットに作成され、対応する論理テーブルはLakehouse Managerにも登録され、構築されます。新しいテーブルは、他のLakehouse Managerテーブルと同様にプラットフォーム全体で利用可能になります。
実行時の検証
検証は、クエリを作成する際にのみ行われるわけではありません。アクションを実行するたびに、EXPLAINを使用してクエリが再検証されます。
これにより、クエリがテーブルに合わなくなった場合が検出されます。例えば、クエリで参照された列がテーブルのスキーマが変更されたために名前が変更されたり削除されたりした場合、実行時の検証に失敗し、アクションは実行する前に停止されます。これにより、非互換なテーブルに対して古いクエリが実行され、データが破損するのを防ぎます。
検証が実行前に実行されるため、突然検証に失敗するSQLアクションは、アップストリームのテーブルが変更されたことを示すことがよくあります。クエリを更新する前にテーブルのスキーマを確認してください。
Advancedモードを使用する
アクションのJSON設定ファイルにアクセスする必要がある場合は、ページの上部にあるAdvancedをクリックしてAdvancedモードを有効にします。
さらに詳しく
トレーニングや技術的なサポートが必要な場合は、営業担当者にお問い合わせください、またはこのリンクをクリックして見積もりを依頼し、プロフェッショナルサービスの専門家にプロジェクトのカスタム分析を依頼してください。
Data Platformを構築するチームと直接やり取りし、質問をしたり、フィードバックを送信したり、Discord専用チャネルに参加してください。
OVHcloudサービスについてサポートが必要な場合は、ヘルプセンターでリクエストを作成してください。
ユーザーコミュニティに参加してください。

