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

DataWorks:データ処理

最終更新日:Mar 01, 2026

このトピックでは、DataWorks の StarRocks ノードを使用して、StarRocks に同期された ods_user_info_d_starrocks テーブルおよび ods_raw_log_d_starrocks テーブルのデータを処理し、ユーザー プロファイル データを取得する方法について説明します。 ods_user_info_d_starrocks テーブルには基本的なユーザー情報が格納され、ods_raw_log_d_starrocks テーブルにはユーザーのウェブサイト アクセスログが格納されます。このトピックにより、DataWorks および StarRocks を使用して同期されたデータを計算および分析し、データウェアハウスにおける単純なデータ処理を完了する方法を理解できます。

前提条件

本チュートリアルを開始する前に、「データ同期」で説明されている手順を完了してください。

ステップ 1:データ処理フローの設計

データ同期フェーズでは、必要なデータが StarRocks テーブルに同期されます。次に、このデータをさらに処理して基本的なユーザープロファイルデータを生成することが目的です。

  1. DataWorks コンソールにログインし、Data Studio ページの DATA STUDIO ウィンドウに移動します。DATA STUDIO ウィンドウの ワークスペースディレクトリ セクションで、事前に準備したワークフローを見つけ、ワークフロー名をクリックしてワークフローの構成タブを開きます。

  2. 構成タブの「データベース」セクションから StarRocks をドラッグし、右側のキャンバスに配置します。[ノード作成] ダイアログボックスで、[ノード名] パラメーターを設定します。

    本チュートリアルでは、3 つの StarRocks ノードを作成する必要があります。以下の表に、本チュートリアルで使用するノード名とその機能を示します。

    ノードタイプ

    ノード名

    ノード機能

    imageStarRocks

    dwd_log_info_di_starrocks

    このノードは、ods_raw_log_d_starrocks テーブルのデータを分割し、ビルトイン関数またはユーザー定義関数 (UDF) を用いて、dwd_log_info_di_starrocks テーブルの 複数のフィールド に同期するために使用します。

    imageStarRocks

    dws_user_info_all_di_starrocks

    このノードは、基本ユーザー情報テーブル ods_user_info_d_starrocks および ログデータテーブル dwd_log_info_di_starrocks のデータを集約し、集約結果を dws_user_info_all_di_starrocks テーブルに同期するために使用します。

    imageStarRocks

    ads_user_info_1d_starrocks

    このノードは、dws_user_info_all_di_starrocks テーブルのデータをさらに処理し、処理済みデータを ads_user_info_1d_starrocks テーブルに同期して基本的なユーザープロファイルを生成するために使用します。

  3. 次の図に示すように、StarRocks ノードの先祖ノードを手動で接続します。

    image
    説明

    ワークフロー内では、ノードを手動で接続することで、上流および下流の依存関係 を設定できます。また、システムは子ノード内のコードを解析することにより、依存関係を自動的に識別することも可能です。本チュートリアルでは手動接続方式を採用します。自動依存関係解析の詳細については、「自動解析メカニズム」をご参照ください。

ステップ 2: 関数の登録

実験用のログデータの構造をテーブル形式のデータに変換するために、関数などの手法を使用できます。

重要
  • 本例では、IP アドレスを地域に変換する関数に必要なリソースが提供されています。これらのリソースをローカルマシンにダウンロードし、Object Storage Service (OSS) バケットに保存した後、以下の手順に従ってリソースを関数として登録するだけです。

  • 本関数で使用する IP アドレスリソースは、本チュートリアル専用です。正式なビジネスシーンで IP アドレスと地理的位置のマッピングを実装する場合は、専門の IP アドレス変換サービスを専門の IP アドレス関連ウェブサイトから入手する必要があります。

リソースのアップロード(ip2region-starrocks.jar)

  1. ip2region-starrocks.jar パッケージをダウンロードします。

    説明

    ip2region-starrocks.jar パッケージは、本チュートリアル専用です。

  2. OSS へのリソースのアップロードを行います。

    1. OSS コンソール にログインし、[バケット] ページに移動します。[バケット] ページで、「環境の準備」時に作成したバケットを検索し、バケットのパス内に dataworks_starrocks ディレクトリを作成します。

    2. ip2region-starrocks.jar パッケージdataworks_starrocks ディレクトリアップロードします

      本チュートリアルでは、パッケージの完全な保存パスは https://test.oss-cn-shanghai-internal.aliyuncs.com/dataworks_starrocks/ip2region-starrocks.jar です。アップロード済み OSS リソースの保存パスは、この完全なパスから取得できます。

      説明
      • 本チュートリアルでは、test という名前のバケットを使用します。

      • UDF が属するバケットのネットワークアドレスは、ECS からのクラシックネットワーク(イントラネット)経由のアクセスに使用されるアドレスです。

      • 内部エンドポイントを使用する場合、OSS バケットは DataWorks ワークスペースと同じリージョンに存在している必要があります。本例では中国 (上海) リージョンを使用しています。

関数の登録(getregion)

  1. 関数登録用の StarRocks ノードを作成します。

    DataWorks コンソールにログインし、Data Studio ページの DATA STUDIO ウィンドウに移動します。DATA STUDIO ウィンドウの ワークスペースディレクトリ セクションで、image アイコンをクリックし、ノードの作成 > データベース > StarRocks を選択して StarRocks ノードを作成します。

  2. 関数登録用のコードを記述します。

    • 関数を登録します。

      CREATE FUNCTION getregion(string)
      RETURNS string
      PROPERTIES ( 
          "symbol" = "com.starrocks.udf.sample.Ip2Region", 
          "type" = "StarrocksJar",
          "file" = "OSS バケットの完全な保存パスを入力します。このパスは前述のサブステップで取得できます。"
      );
    • 関数が正しく登録されたか確認します。

      SELECT getregion('ご利用のローカルマシンの IP アドレス');
    重要

    関数は、開発環境および本番環境それぞれで一度だけ個別に登録できます。本番環境で関数を登録するには、まず StarRocks ノードを本番環境にデプロイする必要があります。

  3. StarRocks ノードの構成タブ上部のツールバーで、保存 をクリックします。その後、デプロイ をクリックし、[DEPLOY] タブに表示される指示に従って、StarRocks ノードを開発環境および本番環境の StarRocks 計算リソースにデプロイします。その後、StarRocks ノードのデータをバックフィルして、本番環境における関数登録を完了します。関数登録が完了したら、オペレーションセンターで本番環境の StarRocks ノードを手動で フリーズ します。これにより、関数の重複登録による StarRocks ノードの失敗を防止できます。

ステップ 3:StarRocks ノードの構成

データ処理を実行するには、関連する StarRocks ノードをスケジュールして各レイヤーの処理ロジックを実装する必要があります。本チュートリアルでは、データ処理のサンプルコードを提供します。このコードを dwd_log_info_di_starrocksdws_user_info_all_di_starrocks、および ads_user_info_1d_starrocks ノードそれぞれに対して個別に構成する必要があります。

dwd_log_info_di_starrocks ノードの構成

本ノードのサンプルコードでは、登録済み関数を用いて先祖テーブル ods_raw_log_d_starrocks のフィールドに対する SQL コードを処理し、テーブルのデータを dwd_log_info_di_starrocks テーブルに同期します。

  1. ワークフローのキャンバスで、dwd_log_info_di_starrocks ノードの上にポインターを移動し、ノードを開く をクリックします。

  2. ノードの構成タブで、[データソースの選択] ドロップダウンリストから、「環境の準備」時にワークスペースに関連付けた StarRocks 計算リソースを選択します。

  3. 以下の SQL 文をコピーし、コードエディターに貼り付けます:

    説明

    dwd_log_info_di_starrocks ノードのサンプルコードでは、登録済み関数を用いて先祖テーブル ods_raw_log_d_starrocks のフィールドに対する SQL コードを処理し、テーブルのデータを dwd_log_info_di_starrocks テーブルに同期します。

    dwd_log_info_di_starrocks ノードのサンプルコード

    CREATE TABLE IF NOT EXISTS dwd_log_info_di_starrocks (
        uid STRING COMMENT 'ユーザー ID',
        ip STRING COMMENT 'IP アドレス',
        TIME STRING COMMENT 'yyyymmddhh:mi:ss 形式の時刻',
        status STRING COMMENT 'サーバーから返されたステータスコード',
        bytes STRING COMMENT 'クライアントに返されたバイト数',
        region STRING COMMENT 'IP アドレスに基づいて取得されたリージョン',
        method STRING COMMENT 'HTTP リクエストタイプ',
        url STRING COMMENT 'URL',
        protocol STRING COMMENT 'HTTP のバージョン番号',
        referer STRING COMMENT 'ソース URL',
        device STRING COMMENT '端末タイプ',
        identity STRING COMMENT 'アクセスタイプ(クローラー、フィード、ユーザー、不明のいずれか)',
        dt DATE NOT NULL COMMENT '時刻'
    ) DUPLICATE KEY(uid) 
    COMMENT 'ユーザービヘイビア分析事例 - ユーザーのウェブサイトアクセスログのファクトテーブル' 
    PARTITION BY(dt) 
    PROPERTIES ("replication_num" = "1");
    
    -- 本例では、dt フィールドに基づいてフィールドデータが動的にパーティション化されます。ノードの再実行およびデータの重複書き込みを防止するため、以下の SQL 文を用いて、各処理操作の前に既存の宛先パーティションを削除します。
    ALTER TABLE dwd_log_info_di_starrocks DROP PARTITION IF EXISTS p${var} FORCE;
    
    -- シナリオ:以下の SQL 文では、getregion 関数を用いて生ログデータ内の IP アドレスを解析し、正規表現を用いて生データを分析可能なフィールドに分割し、それらを dwd_log_info_di_starrocks テーブルに書き込みます。
    -- 注意:
    --     1. DataWorks ノードで UDF を使用するには、あらかじめ関数を登録する必要があります。
    --     2. スケジューリングシナリオでは、DataWorks のノードに対してスケジューリングパラメーターを構成することで、増分データを所望のテーブルの関連パーティションに毎日同期できます。
    --        実際の開発シナリオでは、ノードのコード内で ${変数名} 形式で変数を定義し、ノードの構成タブの [プロパティ] タブでスケジューリングパラメーターを変数に割り当てることができます。これにより、スケジューリングパラメーターの設定に基づき、ノードコード内のスケジューリングパラメーターの値を動的に置き換えることができます。
    INSERT INTO dwd_log_info_di_starrocks 
    SELECT 
        uid
        , ip  
        , time
        , status
        , bytes 
        , getregion(ip) AS region -- UDF を用いて IP アドレスに基づいてリージョンを取得します。
        ,REGEXP_EXTRACT(request, '([^ ]+)', 1) AS method
        ,REGEXP_EXTRACT(request, '^[^ ]+ (.*) [^ ]+$', 1) AS url
        ,REGEXP_EXTRACT(request, '([^ ]+)$', 1) AS protocol
        ,REGEXP_EXTRACT(referer, '^[^/]+://([^/]+)', 1) AS referer
      , CASE
        WHEN LOWER(agent) REGEXP 'android' THEN 'android'
        WHEN LOWER(agent) REGEXP 'iphone' THEN 'iphone'
        WHEN LOWER(agent) REGEXP 'ipad' THEN 'ipad'
        WHEN LOWER(agent) REGEXP 'macintosh' THEN 'macintosh'
        WHEN LOWER(agent) REGEXP 'windows phone' THEN 'windows_phone'
        WHEN LOWER(agent) REGEXP 'windows' THEN 'windows_pc'
        ELSE 'unknown'
    END AS device
      , CASE
        WHEN LOWER(agent) REGEXP '(bot|spider|crawler|slurp)' THEN 'crawler'
        WHEN LOWER(agent) REGEXP 'feed' OR REGEXP_EXTRACT(request, '^[^ ]+ (.*) [^ ]+$', 0) REGEXP 'feed' THEN 'feed'
        WHEN NOT (LOWER(agent) REGEXP '(bot|spider|crawler|feed|slurp)') 
             AND agent REGEXP '^(Mozilla|Opera)' 
             AND NOT (REGEXP_EXTRACT(request, '^[^ ]+ (.*) [^ ]+$', 0) REGEXP 'feed') THEN 'user'
        ELSE 'unknown'
    END AS identity,
     cast('${var}' AS DATE )AS dt
      FROM (
        SELECT
          SPLIT_PART(CAST(col AS VARCHAR(65533)), '##@@', 1)  AS ip
        , SPLIT_PART(CAST(col AS VARCHAR(65533)), '##@@', 2)  AS uid
        , SPLIT_PART(CAST(col AS VARCHAR(65533)), '##@@', 3)  AS time
        , SPLIT_PART(CAST(col AS VARCHAR(65533)), '##@@', 4)  AS request
        , SPLIT_PART(CAST(col AS VARCHAR(65533)), '##@@', 5)  AS status
        , SPLIT_PART(CAST(col AS VARCHAR(65533)), '##@@', 6)  AS bytes
        , SPLIT_PART(CAST(col AS VARCHAR(65533)), '##@@', 7)  AS referer
        , SPLIT_PART(CAST(col AS VARCHAR(65533)), '##@@', 8)  AS agent
    FROM
        ods_raw_log_d_starrocks
    WHERE
        dt = '${var}'
    ) a;
  4. デバッグパラメーターを構成します。

    ノードの構成タブ右側のナビゲーションペインで、Run Configuration をクリックします。タブで以下のパラメーターを構成します。これらのパラメーターは、ステップ 4 でワークフローをテストするために使用します。

    パラメーター

    説明

    計算リソース

    環境の準備」時にワークスペースに関連付けた StarRocks 計算リソースを選択します。

    リソースグループ

    環境の準備」時に購入したサーバーレスリソースグループを選択します。

    スクリプトパラメーター

    [var] パラメーターの [パラメーター値] 列に、yyyymmdd 形式の定数値を入力します。例:var=20250223。ワークフローのデバッグ時には、Data Studio がワークフロー内のノードで定義された変数をこの定数で置き換えます。

  5. (任意)スケジューリングプロパティを構成します。

    本チュートリアルでは、スケジューリングパラメーターをデフォルト値のままにしておくことができます。これらを表示するには、ノードエディター右側のペインで スケジューリング構成 をクリックします。各パラメーターの詳細については、「ノードのスケジューリング構成」をご参照ください。

    • スケジューリングパラメーター:これらのパラメーターはワークフローから継承され、個別のノードに対して構成する必要はありません。タスクやコードで直接使用できます。

    • [スケジューリングポリシー]: [遅延実行時間] パラメーターを使用して、ワークフロー の開始後からサブノード を実行するまでの待機時間を指定できます。このパラメーターは、本チュートリアルでは設定されません。

  6. 構成タブ上部のツールバーで、保存 をクリックしてノードを保存します。

dws_user_info_all_di_starrocks ノードの構成

このノードは、基本ユーザー情報テーブル ods_user_info_d_starrocks およびログデータテーブル dwd_log_info_di_starrocks のデータを集約し、集約結果を dws_user_info_all_di_starrocks テーブルに同期するために使用します。

  1. ワークフローのキャンバスで、dws_user_info_all_di_starrocks ノードの上にポインターを移動し、ノードを開く をクリックします。

  2. ノードの構成タブで、[データソースの選択] ドロップダウンリストから、「環境の準備」時にワークスペースに関連付けた StarRocks 計算リソースを選択します。

  3. 以下の SQL 文をコピーし、コードエディターに貼り付けます:

    説明

    dws_user_info_all_di_starrocks ノードの構成タブで、先祖テーブル dwd_log_info_di_starrocks および ods_user_info_d_starrocks のデータを集約し、集約結果を dws_user_info_all_di_starrocks テーブルに同期するコードを記述します。

    dws_user_info_all_di_starrocks ノードのサンプルコード

    CREATE TABLE IF NOT EXISTS dws_user_info_all_di_starrocks (
        uid STRING COMMENT 'ユーザー ID',
        gender STRING COMMENT '性別',
        age_range STRING COMMENT '年齢層',
        zodiac STRING COMMENT '星座',
        region STRING COMMENT 'IP アドレスに基づいて取得されたリージョン',
        device STRING COMMENT '端末タイプ',
        identity STRING COMMENT 'アクセスタイプ(クローラー、フィード、ユーザー、不明のいずれか)',
        method STRING COMMENT 'HTTP リクエストタイプ',
        url STRING COMMENT 'URL',
        referer STRING COMMENT 'ソース URL',
        TIME STRING COMMENT 'yyyymmddhh:mi:ss 形式の時刻',
        dt DATE NOT NULL COMMENT '時刻'
    ) DUPLICATE KEY(uid) 
    COMMENT 'ユーザービヘイビア分析事例 - ユーザーのウェブサイトアクセス情報を統合したワイドテーブル' 
    PARTITION BY(dt) 
    PROPERTIES ("replication_num" = "1");
    
    -- 本例では、dt フィールドに基づいてフィールドデータが動的にパーティション化されます。ノードの再実行およびデータの重複書き込みを防止するため、以下の SQL 文を用いて、各処理操作の前に既存の宛先パーティションを削除します。
    ALTER TABLE dws_user_info_all_di_starrocks DROP PARTITION IF EXISTS p${var} FORCE;
    
    
    -- シナリオ:dwd_log_info_di_starrocks テーブルに格納された処理済みログデータと ods_user_info_d_starrocks テーブルに格納された基本ユーザー情報をマージし、マージ済みデータを dws_user_info_all_di_starrocks テーブルに同期します。
    -- 注意:スケジューリングシナリオでは、DataWorks のノードに対してスケジューリングパラメーターを構成することで、増分データを所望のテーブルの関連パーティションに毎日同期できます。
    -- 実際の開発シナリオでは、ノードのコード内で ${変数名} 形式で変数を定義し、ノードの構成タブの [プロパティ] タブでスケジューリングパラメーターを変数に割り当てることができます。これにより、スケジューリングパラメーターの設定に基づき、ノードコード内のスケジューリングパラメーターの値を動的に置き換えることができます。
    INSERT INTO dws_user_info_all_di_starrocks 
    SELECT 
        IFNULL(a.uid, b.uid) AS uid,
        b.gender,
        b.age_range,
        b.zodiac,
        a.region,
        a.device,
        a.identity,
        a.method,
        a.url,
        a.referer,
        a.time,
        a.dt
    FROM dwd_log_info_di_starrocks a
    LEFT JOIN ods_user_info_d_starrocks b
    ON a.uid = b.uid
    WHERE a.dt = '${var}';
    
  4. デバッグパラメーターを構成します。

    ノードの構成タブ右側のナビゲーションペインで、Run Configuration をクリックします。タブで以下のパラメーターを構成します。これらのパラメーターは、ステップ 4 でワークフローをテストするために使用します。

    パラメーター

    説明

    計算リソース

    環境の準備」時にワークスペースに関連付けた StarRocks 計算リソースを選択します。

    リソースグループ

    環境の準備」時に購入したサーバーレスリソースグループを選択します。

    スクリプトパラメーター

    [var] パラメーターの [パラメーター値] 列に、yyyymmdd 形式の定数値を入力します。例:var=20250223。ワークフローのデバッグ時には、Data Studio がワークフロー内のノードで定義された変数をこの定数で置き換えます。

  5. (任意)スケジューリングプロパティを構成します。

    本チュートリアルでは、スケジューリングパラメーターをデフォルト値のままにしておくことができます。これらを表示するには、ノードエディター右側のペインで スケジューリング構成 をクリックします。各パラメーターの詳細については、「ノードのスケジューリング構成」をご参照ください。

    • スケジューリングパラメーター:これらのパラメーターはワークフローから継承され、個別のノードに対して構成する必要はありません。タスクやコードで直接使用できます。

    • [スケジューリングポリシー]: [遅延実行時間] パラメーターを使用すると、ワークフローの開始後、サブノードを実行するまでの待機時間を指定できます。このパラメーターは、本チュートリアルでは設定されていません。

  6. 構成タブ上部のツールバーで、保存 をクリックしてノードを保存します。

ads_user_info_1d_starrocks ノードの構成

このノードは、dws_user_info_all_di_starrocks テーブルのデータをさらに処理し、処理済みデータを ads_user_info_1d_starrocks テーブルに同期して基本的なユーザープロファイルを生成するために使用します。

  1. ワークフローのキャンバスで、ads_user_info_1d_starrocks ノードの上にポインターを移動し、ノードを開く をクリックします。

  2. ノードの構成タブで、[データソースの選択] ドロップダウンリストから、「環境の準備」時にワークスペースに関連付けた StarRocks 計算リソースを選択します。

  3. 以下の SQL 文をコピーし、コードエディターに貼り付けます:

    ads_user_info_1d_starrocks ノードのサンプルコード

    CREATE TABLE IF NOT EXISTS ads_user_info_1d_starrocks (
    uid STRING COMMENT 'ユーザー ID',
    region STRING COMMENT 'IP アドレスに基づいて取得されたリージョン',
    device STRING COMMENT '端末タイプ',
    pv BIGINT COMMENT 'PV',
    gender STRING COMMENT '性別',
    age_range STRING COMMENT '年齢層',
    zodiac STRING COMMENT '星座',
    dt DATE NOT NULL COMMENT '時刻'
    ) DUPLICATE KEY(uid) 
    COMMENT 'ユーザービヘイビア分析事例 - ユーザープロファイルデータ' 
    PARTITION BY(dt) 
    PROPERTIES ("replication_num" = "1");
    
    -- 本例では、dt フィールドに基づいてフィールドデータが動的にパーティション化されます。ノードの再実行およびデータの重複書き込みを防止するため、以下の SQL 文を用いて、各処理操作の前に既存の宛先パーティションを削除します。
    ALTER TABLE ads_user_info_1d_starrocks DROP PARTITION IF EXISTS p${var} FORCE;
    
    -- シナリオ:ユーザーのウェブサイトアクセスログを格納する dws_user_info_d_all_di_starrocks ワイドテーブルのデータをさらに処理し、基本的なユーザープロファイルデータを生成し、ads_user_info_1d_starrocks テーブルに同期します。
    -- 注意:スケジューリングシナリオでは、DataWorks のノードに対してスケジューリングパラメーターを構成することで、増分データを所望のテーブルの関連パーティションに毎日同期できます。
    -- 実際の開発シナリオでは、ノードのコード内で ${変数名} 形式で変数を定義し、ノードの構成タブの [プロパティ] タブでスケジューリングパラメーターを変数に割り当てることができます。これにより、スケジューリングパラメーターの設定に基づき、ノードコード内のスケジューリングパラメーターの値を動的に置き換えることができます。
    INSERT INTO ads_user_info_1d_starrocks 
    SELECT 
    uid,
    MAX(region) AS region,
    MAX(device) AS device,
    COUNT(*) AS pv,
    MAX(gender) AS gender,
    MAX(age_range) AS age_range,
    MAX(zodiac) AS zodiac,
    dt
    FROM dws_user_info_all_di_starrocks
    WHERE dt = '${var}'
    GROUP BY uid, dt;
    
    SELECT * FROM dws_user_info_all_di_starrocks
    WHERE dt = '${var}';
  4. デバッグパラメーターを構成します。

    ノードの構成タブ右側のナビゲーションペインで、Run Configuration をクリックします。タブで以下のパラメーターを構成します。これらのパラメーターは、ステップ 4 でワークフローをテストするために使用します。

    パラメーター

    説明

    計算リソース

    環境の準備」時にワークスペースに関連付けた StarRocks 計算リソースを選択します。

    リソースグループ

    環境の準備」時に購入したサーバーレスリソースグループを選択します。

    スクリプトパラメーター

    [var] パラメーターの [パラメーター値] 列に、yyyymmdd 形式の定数値を入力します。例:var=20250223。ワークフローのデバッグ時には、Data Studio がワークフロー内のノードで定義された変数をこの定数で置き換えます。

  5. (任意)スケジューリングプロパティを構成します。

    本チュートリアルでは、スケジューリングパラメーターをデフォルト値のままにしておくことができます。これらを表示するには、ノードエディター右側のペインで スケジューリング構成 をクリックします。各パラメーターの詳細については、「ノードのスケジューリング構成」をご参照ください。

    • スケジューリングパラメーター:これらのパラメーターはワークフローから継承され、個別のノードに対して構成する必要はありません。タスクやコードで直接使用できます。

    • スケジューリングポリシー: [遅延実行時間] パラメーターを使用すると、ワークフローの開始後、サブノードを実行するまでの待機時間を指定できます。このチュートリアルでは、このパラメーターは設定しません。

  6. 構成タブ上部のツールバーで、保存 をクリックしてノードを保存します。

ステップ 4:データの処理

  1. データを同期します。

    ワークフローツールバーで、実行 をクリックします。この実行のために各ノードで定義されたパラメーター変数の値を設定します。本チュートリアルでは 20250223 を使用しますが、必要に応じて値を変更できます。その後、OK をクリックし、実行が完了するまで待ちます。

  2. 結果を照会します。

    1. SQL クエリページに移動します。

      DataWorks コンソール にログインします。上部のナビゲーションバーで、希望するリージョンを選択します。左側のナビゲーションペインで、データ分析およびサービス > データ分析 を選択します。表示されたページで、データ分析へ移動 をクリックします。表示されたページの左側ナビゲーションペインで、SQL クエリ をクリックします。

    2. SQL クエリファイルを構成します。

      1. SQL クエリ ペインで、[マイファイル] の横にある image アイコンをクリックし、[ファイルを作成] を選択します。[ファイルを作成] ダイアログボックスで、[ファイル名] パラメーターを設定します。

      2. 左側のナビゲーションツリーで、作成した SQL クエリファイルを見つけ、ファイル名をクリックしてファイルの構成タブを開きます。

      3. 構成タブの右上隅で、image アイコンをクリックします。表示されるポップオーバーで、以下のパラメーターを構成します。

        パラメーター

        説明

        ワークスペース

        user_profile_analysis_starrocks ワークフローが属するワークスペースを選択します。

        データソースタイプ

        ドロップダウンリストから StarRocks を選択します。

        データソース名

        環境の準備」時にワークスペースに関連付けた StarRocks 計算リソースを選択します。

      4. OK をクリックします。

    3. クエリ用の SQL 文を記述します。

      本トピックのすべてのノードが正常に実行された後、以下の SQL 文を記述・実行して、StarRocks ノードに基づいて外部テーブルが想定通りに作成されたかどうかを確認します。

      -- クエリ文では、パーティションキーの値を ads_user_info_1d_starrocks ノードのデータタイムスタンプに変更します。たとえば、ノードが 2025 年 2 月 23 日にスケジュール実行される場合、ノードのデータタイムスタンプは 20250222 となり、ノードのスケジュール実行時刻より 1 日前となります。
      SELECT * FROM ads_user_info_1d_starrocks  WHERE dt=データタイムスタンプ; 

ステップ 5:ワークフローのデプロイ

自動トリガー型ノードは、ノードを本番環境にデプロイした後にのみ、自動的にスケジュール実行されます。以下に示す手順に従って、ワークフローを本番環境にデプロイできます。

説明

本チュートリアルでは、「ワークフローのスケジューリングプロパティの構成」時にワークフローのスケジューリングパラメーターを構成しました。ワークフロー内の各ノードに対して個別にスケジューリングパラメーターを構成する必要はありません。

  1. DataStudio の左側ナビゲーションペインで、image をクリックします。プロジェクトディレクトリ で作成したワークフローを見つけ、クリックしてワークフローキャンバスを開きます。

  2. ツールバーで、公開 をクリックして公開ダイアログボックスを開きます。

  3. 本番環境への公開を開始 をクリックします。表示される確認ダイアログボックスで、公開方法を選択します:

    • フルリリース:現在のワークフローおよびその内部のすべてのタスクを公開します。

    • インクリメンタルリリース:現在のワークフローおよび前回のリリース以降に変更されたノードのみを公開します。これは反復的最適化および小規模な更新に適しています。

      image.png

  4. 公開方法を確認すると、システムが自動的にワークフローおよび選択されたノードを開発環境および本番環境にリリースします。このプロセスを完了するには、プロンプトが表示されたときに リリースの確認 をクリックします。

    image

ステップ 6:本番環境でのノードの実行

タスクがデプロイされると、翌日にインスタンスが生成されて実行されます。[データバックフィル] 機能を使用して、ワークフローをすぐに実行し、本番環境で正しく動作することを確認できます。詳細については、「データバックフィルインスタンスの O&M」をご参照ください。

  1. ワークフロー内のすべてのノードがデプロイされた後、ノードの構成タブの右上隅にある[オペレーションセンター] をクリックします。

    または、DataWorks コンソールの左上隅の 图标 アイコンをクリックし、すべての製品 > データ開発およびタスク運用管理 > オペレーションセンター を選択することもできます。

  2. オペレーションセンターのページ左側ナビゲーションペインで、自動トリガー型ノードの運用管理 > 自動トリガー型ノード を選択します。自動トリガー型ノード ページで、ゼロロードノード workshop_start_starrocks を見つけ、ノード名をクリックします。

  3. ノードの有向非巡回グラフ (DAG) で、workshop_start_starrocks ノードを右クリックし、実行 > 現在および子孫ノードの遡及実行 を選択します。

  4. バックフィルデータパネルで、バックフィル対象のノードを選択し、[データタイムスタンプ] パラメーターを構成して、送信してリダイレクト をクリックします。

  5. データバックフィルページの上部で、更新 をクリックして、workshop_start_starrocks ノードおよびその子孫ノードが正常に実行されたかどうかを確認します。

説明

このチュートリアルの操作完了後に過剰な料金が発生しないように、ワークフローのすべてのノードに対して有効期間 パラメーターを設定するか、ゼロロードノード workshop_start_starrocks[凍結]することができます。

次のステップ

  • データの可視化表示:ユーザープロファイル分析を完了した後、DataAnalysis を用いて処理済みデータをチャートで表示します。これにより、データの背後にあるビジネストレンドに関する重要な情報を迅速に抽出できます。

  • データ品質の監視:データ処理後に生成されるテーブルに対して監視ルールを構成し、ダーティデータを事前に検出し遮断することで、ダーティデータによる影響の拡大を防止できます。

  • データの管理:ユーザープロファイル分析が完了すると、StarRocks にデータテーブルが生成されます。Data Map で生成されたデータテーブルを表示し、データリネージに基づいてテーブル間の関係を確認できます。

  • DataService Studio API を用いたサービス提供:最終的な処理済みデータを取得した後、DataService Studio の標準化された API を用いてデータを共有し、API を介してデータを受信する他のビジネスモジュールにデータを提供できます。