Serverless StarRocks SQL ノードを作成して、構造化データに対して分散 SQL クエリを実行します。このノードは EMR Serverless StarRocks コンピューティングリソース を使用して、ジョブをより効率的に実行します。
前提条件
コンピューティングリソースの制約:EMR Serverless StarRocks コンピューティングリソース のみがサポートされています。リソースグループとコンピューティングリソース間のネットワーク接続を確保する必要があります。
リソースグループの制約:このタスクは Serverless リソースグループ でのみ実行されます。
(オプション、RAM ユーザーに必須) タスク開発を行う RAM ユーザーは、事前に対応するワークスペースにメンバーとして追加されている必要があります。その際、ロールにはデベロッパーまたはワークスペース管理者を割り当てます (ワークスペース管理者は広範な権限を持つため、割り当てには注意が必要です)。メンバーの追加に関する詳細については、「ワークスペースへのメンバーの追加」をご参照ください。
Alibaba Cloud アカウント (root ユーザー) を使用している場合は、このステップをスキップできます。
ノードの作成
手順については、「ノードの作成」をご参照ください。
ノードの開発
SQL エディターで、タスクコードを記述します。${variable_name} フォーマットを使用して変数を定義できます。次に、右側の Scheduling Settings パネルの Scheduling Parameters セクションで変数に値を割り当てます。これにより、スケジュールされたジョブで動的パラメーターの受け渡しが可能になります。スケジューリングパラメーターの使用方法の詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。次のコードに例を示します。
SHOW TABLES;
-- var という名前の変数を定義します。この変数に ${yyyymmdd} という値を割り当てると、
-- ビジネス日付を示すサフィックスを持つテーブルを作成できます。
CREATE TABLE IF NOT EXISTS userinfo_new_${var} (
ip STRING COMMENT 'IP アドレス',
uid STRING COMMENT 'ユーザー ID'
)PARTITIONED BY(
dt STRING
); --これはスケジューリングパラメーターと組み合わせて使用できます。単一の SQL ステートメントの最大サイズは 130 KB です。
ノードのテスト
実行プロパティを設定します。
右側のRun Configurationパネルで、Compute ResourceとResource Groupを設定します。次の表で、パラメーターを説明します。
パラメーター
説明
コンピューティングリソース
使用する EMR Serverless StarRocks コンピューティングリソース を選択します。ドロップダウンリストに利用可能なコンピューティングリソースがない場合は、[コンピューティングリソースの作成] を選択します。
重要コンピューティングリソースとリソースグループがネットワークで接続されていることを確認する必要があります。詳細については、「ネットワーク接続ソリューション」をご参照ください。
リソースグループ
コンピューティングリソースをアタッチしたときに接続テストに合格したリソースグループを選択します。
スクリプトパラメーター
ノードのコードで
${parameter_name}形式を使用して変数を定義した場合、Script Parameters セクションで、対応するParameter nameとParameter Valueを指定する必要があります。 ランタイムに、システムは変数を指定された値に動的に置き換えます。 詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。ノードを実行します。
ノードを実行するには、Save をクリックしてから Run をクリックします。
次のステップ
ノードスケジューリングを設定する: ノードを定期的に実行する必要がある場合は、右側のScheduling SettingsパネルでScheduling Policyを設定します。
ノードの公開:タスクを本番環境で実行するには、
アイコンをクリックしてノードを公開します。ノードは、本番環境に公開された後にのみスケジュールどおりに実行されます。タスクの O&M:タスクが公開された後、オペレーションセンターで定期的な実行ステータスをモニターできます。詳細については、「オペレーションセンター入門」をご参照ください。