すべてのプロダクト
Search
ドキュメントセンター

DataWorks:ClickHouse SQL

最終更新日:Feb 05, 2026

ClickHouse SQL を使用すると、分散 SQL クエリを実行して構造化データを処理し、ジョブの実行をより効率的にすることができます。DataWorks では、ClickHouse SQL ノードを使用して ClickHouse SQL タスクを開発し、定期的にスケジュール設定して、他のジョブと統合できます。このトピックでは、ClickHouse SQL ノードを使用してタスクを開発する方法について説明します。

前提条件

  • EMR エンジンには、DataLake タイプと Hadoop タイプがあります。必要な準備はエンジンのタイプによって異なります。EMR と DataWorks の両方で、ご利用のセットアップに必要な手順を完了してください。

  • ClickHouse データソースが作成され、ワークスペースにバインドされていること。

    DataWorks で ClickHouse データソースを作成し、Data Studio にバインドする必要があります。これにより、開発のために ClickHouse データにアクセスできます。詳細については、「ClickHouse コンピューティングリソースの関連付け」をご参照ください。

  • ClickHouse SQL ノードが作成されていること。詳細については、「定期ワークフローのノード作成」をご参照ください。

手順

  1. ClickHouse SQL ノードの編集ページで、次の手順を実行します。

    SQL コードを開発する

    SQL エディターで、タスクのコードを記述します。コード内で ${variable_name} 形式を使用して変数を定義し、ノード設定ページの右側にある [スケジュール] > [スケジューリングパラメーター] でこれらの変数に値を割り当てることができます。これにより、定期タスクの動的パラメーター渡しが可能になります。スケジューリングパラメーターの使用方法の詳細については、「スケジューリングパラメーターのソースと式」をご参照ください。次のコードは一例です。

    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', ${var});
    SELECT * FROM ck_test.first_table;
    説明

    この例では、${var} を 1 に設定します。

    SQL タスクを実行する

    1. Run Configuration ペインで、[コンピューティングリソース][リソースグループ] を設定します。

      1. [コンピューティングリソース] で、登録済みの CDH クラスターを選択します。

      2. [リソースグループ] で、データソース接続テストに合格したスケジューリングリソースグループを選択します。詳細については、「ネットワーク接続ソリューション」をご参照ください。

    2. ツールバーで、[データソースの選択] ドロップダウンリストをクリックします。表示されるダイアログボックスで、作成した ClickHouse データソースを選択し、[実行] をクリックします。

  2. タスクを定期的に実行するには、そのスケジューリング設定を構成します。詳細については、「ノードのスケジューリング設定」をご参照ください。

  3. ノードを設定した後、公開します。詳細については、「ノードとワークフローのデプロイ」をご参照ください。

  4. ノードが公開されると、オペレーションセンターで定期タスクの実行ステータスを確認できます。詳細については、「オペレーションセンター入門」をご参照ください。