このトピックでは、HttpFile および MySQL データソースを作成してユーザー情報と Web サイトのログデータを取得する方法について説明します。また、データ同期パイプラインを構成して、このデータを環境準備中に作成された Object Storage Service (OSS) バケットに同期する方法についても説明します。さらに、Spark 外部テーブルを作成して OSS 内のデータを解析し、その後データをクエリして同期結果を検証します。
前提条件
開始する前に、必要な環境を準備してください。詳細については、「環境の準備」をご参照ください。
ステップ 1: データソースの作成
後続のステップでデータを処理できるようにするには、次のデータソースを DataWorks ワークスペースに追加して生データを取得する必要があります。
MySQL データソース: このチュートリアルでは、
user_behavior_analysis_mysqlという名前のデータソースを使用して、MySQL から基本的なユーザー情報 (ods_user_info_d) を取得します。HttpFile データソース: このチュートリアルでは、データソースに
user_behavior_analysis_httpfileという名前を付け、OSS に保存されているユーザーの Web サイトアクセスログ (user_log.txt) を取得するために使用します。OSS データソース: このデータソースは、MySQL および HttpFile データソースから同期された基本的なユーザー情報と Web サイトのアクセスレコードを保存するために使用されます。これにより、Spark は外部テーブルが作成された後にデータを読み取ることができます。
MySQL データソース (user_behavior_analysis_mysql) の作成
このチュートリアルの基本的なユーザー情報は MySQL データベースに保存されています。環境を準備したときに作成したプライベート OSS バケットにユーザーデータ (ods_user_info_d) を同期するには、MySQL データソースを作成する必要があります。
データソースページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターへ移動] をクリックします。
左側のナビゲーションウィンドウで、[データソース] をクリックしてデータソースページに移動します。
[データソースの追加] をクリックします。データソースタイプとして [MySQL] を検索して選択します。
[MySQL データソースの作成] ページで、パラメーターを構成します。このチュートリアルでは、開発環境と本番環境の両方で同じサンプル値を使用します。
次の表に、主要なパラメーターを示します。その他のパラメーターについては、デフォルト値のままにすることができます。
パラメーター
説明
データソース名
データソースの名前を入力します。このチュートリアルでは、
user_behavior_analysis_mysqlと入力します。データソースの説明
このデータソースは DataWorks チュートリアル用です。プラットフォームが提供するテストデータにアクセスするためにオフライン同期タスクを構成する際に、このデータソースからデータを読み取ります。このデータソースはデータ統合シナリオでのみ読み取り可能です。他のモジュールでは使用できません。
構成方法
[接続文字列] を選択します。
エンドポイント
ホスト IP アドレス:
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.comポート:
3306
データベース名
データベース名を入力します。このチュートリアルでは、
workshopと入力します。ユーザー名
ユーザー名を入力します。このチュートリアルでは、
workshopと入力します。パスワード
パスワードを入力します。このチュートリアルでは、
workshop#2017と入力します。認証オプション
なし。
[接続設定] セクションで、本番環境と開発環境の両方について [接続性のテスト] をクリックします。接続ステータスが [接続済み] であることを確認します。
重要リソースグループがワークスペースにアタッチされ、パブリックネットワークアクセスが有効になっていることを確認してください。そうでない場合、データ同期は失敗します。詳細については、「環境の準備」をご参照ください。
利用可能なリソースグループがない場合は、接続設定セクションのプロンプトに従ってください。[購入に移動] と [購入したリソースグループをアタッチ] をクリックします。
[作成を完了] をクリックします。
user_behavior_analysis_httpfile という名前の HttpFile データソースの作成
このチュートリアルのユーザー Web サイトアクセスレコードは OSS に保存されています。環境を準備したときに作成したプライベート OSS バケットにユーザー Web サイトアクセスレコード (user_log.txt) を同期するには、HttpFile データソースを作成する必要があります。
[管理センター] ページで、左側のナビゲーションウィンドウにある [データソース] をクリックします。
[データソースの追加] をクリックします。[データソースの追加] ダイアログボックスで、データソースタイプとして [HttpFile] を検索して選択します。
[HttpFile データソースの作成] ページで、パラメーターを構成します。このチュートリアルでは、開発環境と本番環境の両方で同じサンプル値を使用します。
次の表に、主要なパラメーターを示します。その他のパラメーターについては、デフォルト値のままにすることができます。
パラメーター
説明
データソース名
データソース名を入力します。このチュートリアルでは、
user_behavior_analysis_httpfileと入力します。データソースの説明
このデータソースは DataWorks チュートリアル用です。プラットフォームが提供するテストデータにアクセスするためにオフライン同期タスクを構成する際に、このデータソースからデータを読み取ります。このデータソースはデータ統合シナリオでのみ読み取り可能です。他のモジュールでは使用できません。
URL ドメイン名
開発環境と本番環境の両方で、[URL ドメイン名] を
https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.comに設定します。[接続設定] セクションで、本番環境と開発環境の両方について [接続性のテスト] をクリックします。接続ステータスが [接続済み] であることを確認します。
重要リソースグループがワークスペースにアタッチされ、パブリックネットワークアクセスが有効になっていることを確認してください。そうでない場合、データ同期は失敗します。詳細については、「環境の準備」をご参照ください。
利用可能なリソースグループがない場合は、接続設定セクションのプロンプトに従ってください。[購入に移動] と [購入したリソースグループをアタッチ] をクリックします。
[作成を完了] をクリックします。
OSS データソースの作成
このチュートリアルでは、MySQL データソースからのユーザー情報と HttpFile データソースからのログ情報が OSS データソースに同期されます。
[管理センター] ページで、[データソース] ページに移動し、[データソースの追加] をクリックします。
[データソースの追加] ダイアログボックスで、[OSS] を検索して選択します。
[OSS データソースの作成] ページで、パラメーターを構成します。このチュートリアルでは、開発環境と本番環境の両方でサンプル値を使用します。
パラメーター
説明
データソース名
データソースの名前を入力します。この例では、test_g と入力します。
データソースの説明
データソースの簡単な説明を入力します。
アクセスモード
[Access Key モード] を選択します。
AccessKey ID
現在のログインアカウントの AccessKey ID。AccessKey ページに移動して AccessKey ID をコピーできます。
AccessKey Secret
現在のログインアカウントの AccessKey Secret を入力します。
重要AccessKey Secret は作成時にのみ表示されます。後で表示することはできません。AccessKey Secret は機密情報として保管してください。AccessKey が漏洩または紛失した場合は、それを削除して新しいものを作成してください。
エンドポイント
http://oss-cn-shanghai-internal.aliyuncs.comと入力します。バケット
準備したプライベート OSS バケットの名前。この例では、名前は
dw-spark-demoです。指定されたリソースグループについて、[接続ステータス (開発環境)] および [接続ステータス (本番環境)] 列で [接続性のテスト] をクリックします。テストが完了するのを待ち、ステータスが [接続済み] であることを確認します。
説明少なくとも 1 つのリソースグループが [接続済み] 状態であることを確認してください。そうでない場合、このデータソースの同期タスクをコードレス UI を使用して作成することはできません。
[作成を完了] をクリックして OSS データソースを作成します。
ステップ 2: 同期パイプラインの構築
左上隅にある
アイコンをクリックし、 を選択します。左側のナビゲーションウィンドウで、
をクリックします。[プロジェクトディレクトリ] エリアで、
をクリックし、[ワークフローの作成] を選択します。ワークフローの名前を入力します。このチュートリアルでは、名前を User_profile_analysis_sparkに設定します。ワークフローオーケストレーションページで、[ゼロロードノード]、[バッチ同期]、および [EMR SPARK SQL] ノードをキャンバスにドラッグします。各ノードに名前を入力します。
次の表に、このチュートリアルのノード名とその機能を示します。
ノードタイプ
ノード名
ノード機能
ゼロロードノードworkshop_start_spark内部ノードの開始時刻など、ユーザーペルソナ分析ワークフロー全体を管理します。ワークフローが複雑な場合にデータ転送パスを明確にします。このノードはドライランノードです。コードを編集する必要はありません。
バッチ同期ノードods_raw_log_d_2oss_sparkOSS に保存されているユーザーの Web サイトアクセスレコードを、作成した OSS バケットに同期します。
バッチ同期ノードods_user_info_d_2oss_sparkMySQL に保存されている基本的なユーザー情報を、作成した OSS バケットに同期します。
EMR SPARK SQLods_raw_log_d_sparkOSS に保存されているユーザーの Web サイトアクセスレコードを読み取るために
ods_raw_log_d_spark外部テーブルを作成します。
EMR SPARK SQLods_user_info_d_sparkOSS に保存されている基本的なユーザー情報を読み取るために
ods_user_info_d_spark外部テーブルを作成します。線をドラッグしてノードを接続します。
workShop_start_sparkノードを 2 つのバッチ同期ノードの先祖ノードとして設定します。最終的な結果は次の図のようになります:ワークフローのスケジューリングプロパティを構成します。
ワークフローキャンバスで、右側のペインにある [スケジューリング設定] をクリックし、パラメーターを構成します。次の表に、主要なパラメーターを示します。その他のパラメーターについては、デフォルト値のままにすることができます。
スケジューリングパラメーター
説明
スケジューリングパラメーター
ワークフロー全体のスケジューリングパラメーターを構成できます。ワークフローの内部ノードは、構成されたスケジューリングパラメーターを直接使用できます。このチュートリアルでは、パラメーターを
bizdate=$[yyyymmdd-1]に設定して、前日の日付を取得します。スケジューリングサイクル
このチュートリアルでは
日に設定します。スケジューリング時刻
このチュートリアルでは、[スケジューリング時刻] を
00:30に設定します。これは、ワークフローが毎日00:30に開始されることを意味します。ノード依存関係の構成
ワークフローには上流の依存関係がないため、構成する必要はありません。管理を容易にするために、[ワークスペースのルートノードを使用] をクリックして、ワークフローをワークスペースのルートノードにアタッチします。
ワークスペースのルートノードの命名形式は
workspace_name_rootです。
ステップ 3: 同期タスクの構成
初期ノードの構成
ワークフローオーケストレーションページで、
workshop_start_sparkノードにカーソルを合わせ、[ノードを開く] をクリックします。workshop_start_sparkノード編集ページの右側のペインで、[スケジューリング設定] をクリックし、パラメーターを構成します。次の表に、主要なパラメーターを示します。記載されていないパラメーターについては、デフォルト値のままにすることができます。スケジューリング設定パラメーター
説明
スケジューリングタイプ
このチュートリアルでは、タイプを
ドライランスケジューリングに設定します。スケジューリングリソースグループ
このチュートリアルでは、環境を準備したときに作成されたサーバーレスリソースグループを選択します。
ノード依存関係の構成
workshop_start_sparkは初期ノードであるため、上流の依存関係はありません。[ワークスペースのルートノードを使用] をクリックして、ワークスペースのルートノードにワークフローをトリガーさせます。ワークスペースのルートノードの名前は
WorkspaceName_rootです。
ユーザーログ同期パイプライン (ods_raw_log_d_2oss_spark) の構成
ods_raw_log_d_2oss_spark バッチ同期ノードは、HttpFile データソースからプライベート OSS データソースにユーザーログ情報を同期します。
ワークフローオーケストレーションページで、
ods_raw_log_d_2oss_sparkノードにカーソルを合わせ、ノードを開くボタンをクリックしてノード構成ページに移動します。ネットワークとリソースを構成します。
パラメーター
説明
データソース
データソース:
HttpFile。データソース名:
user_behavior_analysis_httpfile。
マイリソースグループ
環境準備中に購入したサーバーレスリソースグループを選択します。
データ宛先
データ宛先:
OSS。データソース名: 先に作成したプライベート OSS データソースを選択します。この例では、test_g を選択します。
[次へ] をクリックして同期タスクを構成します。
データソースと宛先の構成
次の表に、主要なパラメーターを示します。記載されていないパラメーターについては、デフォルト値のままにすることができます。
パラメーター
説明
データソース
ファイルパス: /user_log.txt。
テキストタイプ: text を選択します。
列区切り文字: | を入力します。
圧縮フォーマット: None、Gzip、Bzip2、Zip が含まれます。None を選択します。
ヘッダーをスキップ: いいえを選択します。
データ宛先
テキストタイプ: text を選択します。
ファイル名 (パスを含む): OSS バケット内のディレクトリに基づいてパスを入力します。例: ods_raw_log_d/log_${bizdate}/log_${bizdate}.txt。ここで、ods_raw_log_d は作成したディレクトリ名、$bizdate は前日の日付を表します。
列区切り文字: | を入力します。
[フィールドマッピング] と [チャネルコントロール] を確認します。
DataWorks は、構成されたフィールドマッピングに基づいて、指定されたソースフィールドから指定された宛先フィールドにデータを同期します。また、同時実行数を設定し、ダーティデータのポリシーを構成することもできます。このチュートリアルでは、[ダーティデータポリシー] を [ダーティデータを許容しない] に設定します。その他の設定はデフォルト値のままにすることができます。詳細については、「コードレス UI を使用して同期タスクを構成する」をご参照ください。
デバッグパラメーターを構成します。
バッチ同期タスク構成ページの右側のペインで、[デバッグ設定] をクリックします。ステップ 6 でデバッグパラメーターを使用してテストを実行するために、次のパラメーターを構成します。
構成項目
構成の説明
リソースグループ
環境を準備したときに購入したサーバーレスリソースグループを選択します。
スクリプトパラメーター
[パラメーターの追加] をクリックし、bizdate に
yyyymmdd形式で値を割り当てます (例:bizdate=20250223)。デバッグ中、DataStudio はタスクで定義された変数をこの定数に置き換えます。(オプション) スケジューリングプロパティを構成します。
このチュートリアルでは、スケジューリングパラメーターのデフォルト値をそのまま使用できます。ノード編集ページの右側のペインで [スケジューリング設定] をクリックできます。パラメーターの詳細については、「ノードのスケジューリングプロパティを構成する」をご参照ください。
スケジューリングパラメーター: これらはこのチュートリアルのワークフローですでに構成されています。内部ノードに対して構成する必要はありません。タスクやコードで直接使用できます。
スケジューリングポリシー: [遅延実行時間] パラメーターを設定して、ワークフローの開始後に子ノードが実行を待機する時間を指定できます。このチュートリアルでは、このパラメーターを設定する必要はありません。
上部のツールバーで、[保存] をクリックして現在のノードを保存します。
ユーザーデータ同期パイプライン (ods_user_info_d_2oss_spark) の構成
ods_user_info_d_2oss_Spark バッチ同期ノードは、MySQL データソースからプライベート OSS データソースにユーザーデータを同期します。
ワークフローオーケストレーションページで、
ods_user_info_d_2oss_Sparkノードにカーソルを合わせ、[ノードを開く] をクリックします。同期パイプラインのネットワークとリソースを構成します。
パラメーター
説明
データソース
データソース:
MySQL。データソース名:
user_behavior_analysis_mysql。
マイリソースグループ
環境準備中に購入したサーバーレスリソースグループを選択します。
データ宛先
データ宛先:
OSS。データソース名: 先に作成したプライベート OSS データソースを選択します。この例では、
test_gを選択します。
[次へ] をクリックして同期タスクを構成します。
データソースと宛先の構成
次の表に、主要なパラメーターを示します。記載されていないパラメーターについては、デフォルト値のままにすることができます。
パラメーター
説明
データソース
テーブル: データソースから ods_user_info_d を選択します。
シャードキー: プライマリキーまたはインデックス付き列をシャードキーとして使用します。整数フィールドのみがサポートされます。シャードキーを uid に設定します。
データ宛先
テキストタイプ: text を選択します。
ファイル名 (パスを含む): OSS バケット内のディレクトリに基づいてパスを入力します。例: ods_user_info_d/user_${bizdate}/user_${bizdate}.txt。ここで、ods_user_info_d は作成したディレクトリ名、$bizdate は前日の日付を表します。
列区切り文字: | を入力します。
[フィールドマッピング] と [チャネルコントロール] を確認します。
DataWorks は、構成されたフィールドマッピングに基づいて、指定されたソースフィールドから指定された宛先フィールドにデータを同期します。また、同時実行数を設定し、ダーティデータのポリシーを構成することもできます。このチュートリアルでは、[ダーティデータポリシー] を [ダーティデータを許容しない] に設定します。その他の設定はデフォルト値のままにすることができます。詳細については、「コードレス UI を使用して同期タスクを構成する」をご参照ください。
デバッグパラメーターを構成します。
バッチ同期タスク構成ページの右側のペインで、[デバッグ設定] をクリックします。ステップ 6 でデバッグパラメーターを使用してテストを実行するために、次のパラメーターを構成します。
構成項目
構成の説明
リソースグループ
環境を準備したときに購入したサーバーレスリソースグループを選択します。
スクリプトパラメーター
[パラメーターの追加] をクリックし、bizdate に
yyyymmdd形式で値を割り当てます (例:bizdate=20250223)。デバッグ中、DataStudio はタスクで定義された変数をこの定数に置き換えます。(オプション) スケジューリングプロパティを構成します。
このチュートリアルでは、スケジューリングパラメーターのデフォルト値をそのまま使用できます。ノード編集ページの右側のペインで [スケジューリング設定] をクリックできます。パラメーターの詳細については、「ノードのスケジューリングプロパティを構成する」をご参照ください。
スケジューリングパラメーター: これらはこのチュートリアルのワークフローですでに構成されています。内部ノードに対して構成する必要はありません。タスクやコードで直接使用できます。
スケジューリングポリシー: [遅延実行時間] パラメーターを設定して、ワークフローの開始後に子ノードが実行を待機する時間を指定できます。このチュートリアルでは、このパラメーターを設定する必要はありません。
上部のツールバーで、[保存] をクリックして現在のノードを保存します。
ステップ 4: データの同期
データを同期します。
ワークフローキャンバスの上部にあるツールバーで、[実行] をクリックします。開いたダイアログボックスで、この実行でノードに定義されているパラメーター変数の値を設定します。このチュートリアルでは
20250223を使用します。必要に応じてこの値を変更できます。[OK] をクリックし、実行が完了するのを待ちます。同期結果を表示します。
ワークフローが正常に実行された後、Object Storage Service コンソールにログインします。新しく作成された OSS データソースのバケット内の
/ods_user_info_dおよび/ods_raw_log_dディレクトリに対応するディレクトリとデータが存在することを確認します。
ステップ 5: データの解析
データが同期された後、Spark SQL を使用して外部テーブルを作成し、OSS に保存されている基本的なユーザー情報と Web サイトのアクセスレコードを解析できます。
ログテーブル (ods_raw_log_d_spark) の作成とデータの解析
データがバッチ統合タスクによってプライベート OSS データソースに同期された後、EMR SPARK SQL ノードを使用して、生成された OSS ファイルに基づいて ods_raw_log_d_spark 外部テーブルを作成できます。LOCATION 句を使用して、バッチデータ統合タスクによってプライベート OSS [バケット] に書き込まれたログ情報にアクセスします。
ワークフローオーケストレーションページで、
ods_raw_log_d_sparkノードにカーソルを合わせ、[ノードを開く] をクリックします。テーブル作成ステートメントを編集します。
-- シナリオ: 次の Spark SQL コードは、EMR Spark SQL ノードを使用して ods_raw_log_d_spark 外部テーブルを作成します。 -- LOCATION を使用して、バッチデータ統合タスクによってプライベート OSS バケットに書き込まれたログ情報を取得し、対応する dt パーティションを追加します。 -- 注: -- DataWorks は、スケジューリングシナリオで宛先テーブルの対応するビジネスパーティションに日次増分データを書き込むためのスケジューリングパラメーターを提供します。 -- 開発シナリオでは、${VariableName} 形式でコード変数を定義できます。 -- その後、スケジューリング設定ページで、スケジューリングパラメーターを値として変数に割り当てることができます。これにより、スケジューリング中にコードで動的なパラメーター入力が可能になります。 CREATE EXTERNAL TABLE IF NOT EXISTS ods_raw_log_d_spark ( `col` STRING ) PARTITIONED BY ( dt STRING ) LOCATION 'oss://dw-spark-demo.oss-cn-shanghai-internal.aliyuncs.com/ods_raw_log_d/log_${bizdate}/'; ALTER TABLE ods_raw_log_d_spark ADD IF NOT EXISTS PARTITION (dt = '${bizdate}') LOCATION 'oss://dw-spark-demo.oss-cn-shanghai-internal.aliyuncs.com/ods_raw_log_d/log_${bizdate}/'説明必要に応じて、コード内の location アドレスを置き換えてください。
dw-spark-demoは、環境を準備したときに作成した OSS バケットの名前です。デバッグパラメーターを構成します。
[EMR SPARK SQL] タスク構成ページの右側のペインで、[デバッグ設定] をクリックします。ステップ 6 でデバッグパラメーターを使用してテストを実行するために、次のパラメーターを構成します。
構成項目
構成の説明
計算リソース
環境を準備したときにアタッチされた Spark 計算リソースを選択します。
リソースグループ
環境を準備したときに購入したサーバーレスリソースグループを選択します。
スクリプトパラメーター
[パラメーターの追加] をクリックし、bizdate に
yyyymmdd形式で値を割り当てます (例:bizdate=20250223)。デバッグ中、DataStudio はタスクで定義された変数をこの定数に置き換えます。(オプション) スケジューリングプロパティを構成します。
このチュートリアルでは、スケジューリングパラメーターのデフォルト値をそのまま使用できます。ノード編集ページの右側のペインで [スケジューリング設定] をクリックできます。パラメーターの詳細については、「ノードのスケジューリングプロパティを構成する」をご参照ください。
スケジューリングパラメーター: これらはこのチュートリアルのワークフローですでに構成されています。内部ノードに対して構成する必要はありません。タスクやコードで直接使用できます。
スケジューリングポリシー: [遅延実行時間] パラメーターを設定して、ワークフローの開始後に子ノードが実行を待機する時間を指定できます。このチュートリアルでは、このパラメーターを設定する必要はありません。
上部のツールバーで、[保存] をクリックして現在のノードを保存します。
ユーザーテーブル (ods_user_info_d_spark) の作成とデータの解析
データがバッチ統合タスクによってプライベート OSS データソースに同期された後、EMR SPARK SQL ノードを使用して、生成された OSS ファイルに基づいて ods_user_info_d_spark 外部テーブルを作成できます。LOCATION 句を使用して、バッチデータ統合タスクによってプライベート OSS [バケット] に書き込まれたユーザー情報にアクセスします。
ワークフローオーケストレーションページで、
ods_user_info_d_sparkノードにカーソルを合わせ、[ノードを開く] をクリックします。同期リンクのネットワークとリソースを構成できます。
-- シナリオ: 次の Spark SQL コードは、EMR Spark SQL ノードを使用して ods_user_info_d_spark 外部テーブルを作成します。 -- LOCATION を使用して、バッチデータ統合タスクによってプライベート OSS バケットに書き込まれたユーザー情報を取得し、対応する dt パーティションに書き込みます。 -- 注: -- DataWorks は、スケジューリングシナリオで宛先テーブルの対応するビジネスパーティションに日次増分データを書き込むためのスケジューリングパラメーターを提供します。 -- 開発シナリオでは、${VariableName} 形式でコード変数を定義できます。 -- その後、スケジューリング設定ページで、スケジューリングパラメーターを値として変数に割り当てることができます。これにより、スケジューリング中にコードで動的なパラメーター入力が可能になります。 CREATE EXTERNAL TABLE IF NOT EXISTS ods_user_info_d_spark ( `uid` STRING COMMENT 'ユーザー ID' ,`gender` STRING COMMENT '性別' ,`age_range` STRING COMMENT '年齢範囲' ,`zodiac` STRING COMMENT '星座' ) PARTITIONED BY ( dt STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY'|' STORED AS TEXTFILE LOCATION 'oss://dw-spark-demo.oss-cn-shanghai-internal.aliyuncs.com/ods_user_info_d/user_${bizdate}/' ; ALTER TABLE ods_user_info_d_spark ADD IF NOT EXISTS PARTITION (dt = '${bizdate}') LOCATION'oss://dw-spark-demo.oss-cn-shanghai-internal.aliyuncs.com/ods_user_info_d/user_${bizdate}/' ;説明必要に応じて、コード内の location アドレスを置き換えてください。
dw-spark-demoは、環境を準備したときに作成した OSS バケットの名前です。デバッグパラメーターを構成します。
[EMR SPARK SQL] タスク構成ページの右側のペインで、[デバッグ設定] をクリックします。ステップ 6 でデバッグパラメーターを使用してテストを実行するために、次のパラメーターを構成します。
構成項目
構成の説明
計算リソース
環境を準備したときにアタッチされた Spark 計算リソースを選択します。
リソースグループ
環境を準備したときに購入したサーバーレスリソースグループを選択します。
スクリプトパラメーター
[パラメーターの追加] をクリックし、bizdate に
yyyymmdd形式で値を割り当てます (例:bizdate=20250223)。デバッグ中、DataStudio はタスクで定義された変数をこの定数に置き換えます。(オプション) スケジューリングプロパティを構成します。
このチュートリアルでは、スケジューリングパラメーターのデフォルト値をそのまま使用できます。ノード編集ページの右側のペインで [スケジューリング設定] をクリックできます。パラメーターの詳細については、「ノードのスケジューリングプロパティを構成する」をご参照ください。
スケジューリングパラメーター: これらはこのチュートリアルのワークフローですでに構成されています。内部ノードに対して構成する必要はありません。タスクやコードで直接使用できます。
スケジューリングポリシー: [遅延実行時間] パラメーターを設定して、ワークフローの開始後に子ノードが実行を待機する時間を指定できます。このチュートリアルでは、このパラメーターを設定する必要はありません。
上部のツールバーで、[保存] をクリックして現在のノードを保存します。
ステップ 6: タスクの実行
データを同期します。
ワークフローツールバーで、[実行] をクリックします。この実行で各ノードに定義されているパラメーター変数の値を設定します。このチュートリアルでは
20250223を使用しますが、必要に応じて値を変更できます。次に、[OK] をクリックし、実行が完了するのを待ちます。データをクエリして結果を検証します。
SQL クエリページに移動します。
DataWorks コンソールにログインします。上部のナビゲーションバーで、目的のリージョンを選択します。左側のナビゲーションウィンドウで、 を選択します。表示されたページで、[データ分析へ移動] をクリックします。表示されたページの左側のナビゲーションウィンドウで、[SQL クエリ] をクリックします。
SQL クエリファイルを構成します。
[マイファイル] の横にある
アイコンをクリックして、新しいファイルを作成し、SQL クエリファイルにカスタム名を入力します。新しく作成したファイルをクリックして、ファイル編集ページを開きます。
ファイル編集ページで、右上隅の
アイコンをクリックして、SQL クエリのワークスペースやその他の情報を構成します。構成の詳細は次のとおりです:構成項目
説明
ワークスペース
User_profile_analysis_sparkワークフローが配置されているワークスペースを選択します。データソースタイプ
ドロップダウンリストから
EMR Spark SQLを選択します。データソース名
環境を準備したときに開発環境にアタッチされた EMR Serverless Spark 計算リソースを選択します。
[確認] をクリックしてデータソースの構成を完了します。
クエリ SQL を編集します。
このトピックのすべてのノードが正常に実行された後、次の SQL クエリを実行して、EMR SPARK SQL ノードによって作成された外部テーブルが正しく生成されたことを確認します。
-- 現在の操作の実際のデータタイムスタンプにパーティションフィルター条件を更新する必要があります。 -- たとえば、タスクが 20250223 に実行される場合、データタイムスタンプは 20250222 であり、タスクの実行日の前日です。 SELECT * FROM ods_raw_log_d_spark WHERE dt ='データタイムスタンプ';--ods_raw_log_d_spark テーブルをクエリします SELECT * FROM ods_user_info_d_spark WHERE dt ='データタイムスタンプ';--ods_user_info_d_spark テーブルをクエリします
次のステップ
これで、ログデータを同期する方法を学習しました。次のチュートリアルに進み、同期されたデータを処理および分析する方法を学習できます。詳細については、「データの処理」をご参照ください。