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モードを有効にします。
さらに詳しく
トレーニングや技術的なサポートが必要な場合は、営業担当者にお問い合わせください、またはProfessional Servicesページを訪れて見積もりを依頼し、専門家がプロジェクトを分析してください。
質問をする、フィードバックを送信し、Data Platformを構築するチームと直接交流するには、専用のDiscordチャンネルにアクセスしてください。
OVHcloudサービスについてサポートが必要な場合は、Help Centreでリクエストを作成してください。
ユーザーコミュニティに参加してください。

