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

E-MapReduce:実験の概要

最終更新日:Mar 27, 2026

このチュートリアルでは、DataWorks と E-MapReduce (EMR) を使用したユーザープロファイル分析実験について説明します。このチュートリアルを完了すると、次の方法を習得できます。

  • 複数のソース (ApsaraDB RDS for MySQL および Object Storage Service (OSS)) から EMR にデータを同期します。

  • 生のウェブアクセスログを処理し、分析可能なフィールドに分割します。

  • 処理されたログデータとユーザー情報を集約して、ユーザープロファイルを生成します。

  • 自動化されたルールでデータ品質を監視し、ダーティデータがダウンストリームノードに到達する前に捕捉します。

前提条件

開始する前に、次のものがあることを確認してください。

  • DataWorks と EMR へのアクセス権を持つ Alibaba Cloud アカウント。

  • SQL とデータパイプラインの概念に関する基本的な知識。

実験設計

背景情報

ウェブサイトトラフィックに対するきめ細かい操作をサポートするために、この実験では定期的なユーザープロファイル分析パイプラインを構築します。このパイプラインは、ユーザーの地理的および社会的属性をカバーし、DataWorks を使用して次のことを行います。

  • 異なるソースからデータを同期します。

  • 生データを処理し、変換します。

  • データ品質を管理します。

  • データを消費可能にします。

仕組み

パイプラインは次の4つのステップで実行されます。

  1. 同期: Data Integration は、ApsaraDB RDS for MySQL から基本ユーザー情報を、OSS からウェブアクセスログを抽出し、両方を EMR にロードします。

  2. 処理: 関数と正規表現を使用して、生のアクセスログを構造化されたフィールドに分割します。EMR で分割されたログとユーザー情報を集約します。

  3. 変換: 集約されたデータをさらに処理して、完全なユーザープロファイルを生成します。

  4. 監視: Data Quality ルールを適用して、スケジューリングノードの出力にあるダーティデータを検出し、子孫ノードへの伝播を防ぎます。

関連する DataWorks サービス

次の表は、各パイプラインステップと使用される DataWorks サービス、および習得するスキルをマッピングしています。

ステップ 操作 学習内容
データの同期 同期ノードを構成して、ApsaraDB RDS for MySQL からユーザー情報を、OSS からアクセスログを EMR にロードします。 異なるソースから EMR にデータを同期します。関連するデータソースのテーブルを作成します。ノードを手動でトリガーします。ノードログを表示します。
データの処理 DataStudio で、関数または正規表現を使用してアクセスログをフィールドに分割し、ログとユーザー情報を集約してユーザープロファイルを生成します。 DataWorks ワークフローでノードを作成および構成します。ワークフローを実行します。
データ品質監視ルールの構成 Data Quality で、スケジューリングノードによって生成されたテーブルの監視ルールを構成して、ダーティデータを検出します。 データ品質ルールを設定して、ソースデータの変更によって引き起こされるダーティデータを特定し、子孫ノードに影響を与えるのを防ぎます。

実験データ

アクセスログデータ

この実験では、OSS オブジェクト user_log.txt に保存されている生のウェブアクセスログを使用します。各ログ行は次の形式に従います。

$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent"$http_referer" "$http_user_agent" [unknown_content];

次の表は、生ログから抽出された各フィールドについて説明しています。

フィールド 説明
$remote_addr クライアントの IP アドレス
$remote_user クライアントへのログインに使用されるユーザー名
$time_local サーバー上のローカル時刻
$request リクエストタイプ、URL、HTTP バージョンを含む HTTP リクエスト
$status サーバーによって返される HTTP ステータスコード
$body_bytes_sent ヘッダーバイトを除く、クライアントに送信されたバイト数
$http_referer リクエストのソース URL
$http_user_agent ブラウザタイプなどのクライアント情報

ユーザー情報データ

基本ユーザー情報は、ApsaraDB RDS for MySQL のテーブル ods_user_info_d に保存されています。

フィールド 説明
uid ユーザー名
gender 性別
age_range 年齢層
zodiac 星座

最終出力データ

2つのデータソースを処理および集約した後、パイプラインは次のスキーマを持つ結果テーブルを生成します。

フィールド 説明
uid ユーザー名
region リージョン
デバイス端末タイプ
pvページビュー
gender性別
age_range年齢範囲
Zodiac星座

次のステップ

実験を完了した後、次の操作でパイプラインを拡張できます。

操作 説明 関連ドキュメント
メタデータの管理 Data Map で、ソーステーブルのメタデータを表示および管理します。 データの管理
データの利用 DataAnalysis で、結果テーブルに対して SQL クエリを実行し、ユーザーの地理的分布と都市ランキングを分析します。API 機能を使用して、DataService Studio で結果テーブルを API として公開します。 ダッシュボードでデータを可視化する および API を使用してデータサービスを提供する