DataWorks の ClickHouse SQL ノードを使用すると、分散型 SQL エンジンを活用して構造化データ処理を効率的に行いながら、ClickHouse SQL タスクを開発・定期スケジュールし、他のジョブと統合できます。
前提条件
-
ワークフローが作成済みです。
DataStudio では、開発作業をワークフロー単位で管理します。ノードを作成する前に、ワークフローを作成してください。詳細については、「ワークフローの作成」をご参照ください。
-
EMR ClickHouse クラスターまたは自己管理型 ClickHouse クラスターが作成済みで、必要な事前準備が完了しています。
エンジンタイプに応じて、EMR および DataWorks の準備を完了させてください。
-
DataLake:詳細については、「EMR DataLake クラスターの構成」および「DataWorks の構成」をご参照ください。
-
Hadoop:「Hadoop クラスター開発のための準備」をご参照ください。
-
-
ClickHouse コンピューティングリソースがワークスペースにバインドされています。
ご利用の ClickHouse データベースを DataWorks に ClickHouse コンピューティングリソースとして追加し、DataStudio にバインドすることで、開発時に ClickHouse データにアクセスできるようになります。
-
サーバーレスリソースグループが購入され、ClickHouse クラスターが配置されている VPC にバインドされています。詳細については、「サーバーレスリソースグループの使用」をご参照ください。
説明ClickHouse SQL ノードタスクの実行には、サーバーレスリソースグループ(推奨)または専用スケジューリングリソースグループを使用できます。
ステップ 1:ClickHouse SQL ノードの作成
DataWorks コンソールにログインします。対象のリージョンで、左側のナビゲーションウィンドウから をクリックします。ドロップダウンリストからワークスペースを選択し、移動 データ開発 をクリックします。
-
対象のワークフローを右クリックし、 を選択します。
-
ノードの作成 ダイアログボックスで、ノードの 名前 を入力し、確認 をクリックします。ノードが作成されたら、ノードエディターでタスクを開発および構成できます。
ステップ 2:ClickHouse SQL タスクの開発
(オプション)ClickHouse コンピューティングリソースの選択
ワークスペースに複数の ClickHouse コンピューティングリソースが追加されている場合、ClickHouse SQL ノードのエディターページで目的のリソースを選択する必要があります。ClickHouse コンピューティングリソースが 1 つだけ追加されている場合は、デフォルトでそのリソースが使用されます。
SQL コードの開発
コードエディターに ClickHouse SQL ステートメントを記述します。以下のコードはその例です。
CREATE DATABASE if not EXISTS ck_test;
CREATE TABLE if not EXISTS ck_test.first_table (
`product_code` String,
`package_name` String
) ENGINE = MergeTree ORDER BY package_name SETTINGS index_granularity = 8192;
INSERT INTO ck_test.first_table (product_code, package_name) VALUES ('1', '1');
SELECT * FROM ck_test.first_table;
ステップ 3:スケジューリングの構成
タスクを定期的に実行するには、ノードエディターページの右側にある スケジューリング設定 をクリックし、スケジューリングプロパティを構成します。詳細については、「タスクスケジューリングプロパティ構成の概要」をご参照ください。
ノードをコミットする前に、再実行プロパティ プロパティを設定し、依存する先祖ノード を指定する必要があります。
ステップ 4:タスクのデバッグ
コードをデバッグして、期待どおりに動作することを確認します。
-
(オプション)ランタイムリソースグループを選択し、カスタムパラメーターに値を割り当てます。
-
ツールバーの
アイコンをクリックします。パラメーター ダイアログボックスで、デバッグに使用するスケジューリングリソースグループを選択します。 -
タスクコードでスケジューリングパラメーター変数を使用している場合、デバッグ用に変数に値を割り当てることができます。パラメーター割り当てのロジックの詳細については、「タスクのデバッグ」をご参照ください。
-
-
SQL ステートメントを保存して実行します。
ツールバーの
アイコンをクリックして、記述した SQL ステートメントを保存します。その後、
アイコンをクリックして SQL タスクを実行します。 -
(オプション)スモークテストを実行します。
開発環境でスケジュールされたタスクが正しく実行されることを確認するために、ノードのコミット時またはコミット後にスモークテストを実行できます。詳細については、「スモークテストの実行」をご参照ください。
ステップ 5:コミットとデプロイ
ノードをコミットおよびデプロイして、スケジューリング構成に基づきタスクが定期的に実行されるようにします。
-
ツールバーの
アイコンをクリックしてノードを保存します。 -
ツールバーの
アイコンをクリックしてノードタスクをコミットします。コミット ダイアログボックスで、変更内容 を入力し、ノードコミット後にコードレビューを実施するかどうかを選択します。
説明-
ノードをコミットする前に、再実行プロパティ プロパティを設定し、依存する先祖ノード を指定する必要があります。
-
コードレビューにより、コード品質を確保し、本番環境でのエラーを防止できます。コードレビュー機能を有効にすると、コミットされたコードはレビューに合格した後でのみデプロイ可能です。詳細については、「コードレビュー」をご参照ください。
-
標準モードのワークスペースを使用している場合、タスクをコミットした後、ノードエディターページの右上隅にある デプロイ をクリックして、タスクを本番環境にデプロイする必要があります。詳細については、「タスクのデプロイ」をご参照ください。
次のステップ
デプロイ後、タスクはスケジュールに従って実行されます。スケジューリング状況を確認するには、ノードエディターページの右上隅にある O&M Personnel をクリックします。詳細については、「定期タスクの管理」をご参照ください。