クエリスクリプトは、CALL コマンドとデータ定義言語 (DDL) 、データクエリ言語 (DQL) 、およびデータ操作言語 (DML) 文をサポートしています。スクリプトを使用して、カタログとテーブルの作成と管理、データのクエリ、および Paimon の管理ができます。また、EXPLAIN 構文を使用して実行計画を表示し、問題をトラブルシューティングすることもできます。
機能
システムは SQL 構文を検証します。検証に失敗した場合、スクリプトは実行できません。
スクリプト内のすべての文を実行することも、選択した文のみを実行することもできます。
CALL コマンドと DDL、DQL、および DML 文をサポートしています。
重要DDL または DML 文を直接実行すると、オンラインのメタデータやデータに影響します。注意して実行してください。
作成した内容は 1 分ごとに自動的に保存されます。左側のナビゲーションウィンドウのフォルダに一時的なクエリを手動で保存することもできます。
手順
ターゲットワークスペースの [アクション] 列で、[コンソール] をクリックします。
に移動し、[クエリスクリプト] タブをクリックします。
をクリックしてクエリスクリプトを作成します。SQL コードを入力します。CALL コマンドと DDL、DQL、および DML 構文がサポートされています。
次の例は、MySQL カタログを作成し、テーブルをクエリするための SQL コードを示しています。
MySQL カタログを作成します。詳細については、「MySQL カタログの作成」をご参照ください。
CREATE CATALOG mysql_catalog WITH( 'type' = 'mysql', 'hostname' = 'rm-bp1x********.mysql.rds.aliyuncs.com', 'port' = '3306', 'username' = 'db_user', 'password' = '${secret_values.mysqlpw}', 'default-database' = 'flinktest' );テーブルをクエリします。デフォルトではバッチモードが使用されます。
バッチモード: このモードは有界ジョブにのみ使用でき、より高い効率を提供します。データセットのサイズが固定されている場合、ジョブは有界と見なされます。
ストリーミングモード: このモードは有界ジョブと無界ジョブの両方に使用できます。連続データストリームを処理する無界ジョブには、ストリーミングモードを使用する必要があります。データセットのサイズが不明または無限である場合、ジョブは無界と見なされます。SET 構文を使用してストリーミングモードに切り替えることができます。
説明クエリスクリプトは「変数管理」をサポートしていません。
SET 'execution.runtime-mode' = 'streaming'; SELECT * FROM `mysql_catalog`.flinktest.orders;
セッションクラスターを選択または作成します。
ページの右下隅で、[実行環境] をクリックし、必要なバージョンを使用するセッションクラスターを選択します。Ververica Runtime (VVR) 8.0.4 以降が必要です。セッションクラスターが利用できない場合は、「ステップ 1: セッションクラスターの作成」をご参照ください。
ターゲットコードスニペットを選択し、スニペットの左側にある [実行] をクリックします。
(任意) 右上隅で、[保存] をクリックします。ファイル名と保存場所を指定します。
よくある質問
データクエリページでスクリプトを実行すると、「バッチモードでは無界テーブル 'XXX' のクエリは許可されていません。テーブルソースは無界です。」というエラーが表示されるのはなぜですか。
原因
ソースは無界ストリームですが、バッチジョブには有界ストリームが必要です。ストリームタイプは次のように定義されます。
有界ストリーム: データセットのサイズが固定されています。
無界ストリーム: データセットのサイズが不明または無限です。
解決策
SET 構文を使用してストリーミングモードに切り替えます。
SET 'execution.runtime-mode' = 'streaming';で、新しいジョブを作成して実行できます。
でジョブを作成した後、デバッグ機能を使用するか、デプロイ後に実行結果を表示できます。
参照
セッションクラスターの作成方法の詳細については、「手順 1:セッションクラスターを作成する」をご参照ください。
カタログの作成または管理方法の詳細については、「カタログの管理」をご参照ください。
データクエリシナリオの例については、「Flink、Paimon、StarRocks を使用したストリーミングデータレイクハウスの構築」をご参照ください。
プラットフォームの新機能の詳細については、「リリースノート」をご参照ください。