このトピックでは、シンプルな Web サイトのユーザープロファイル分析を例に、データ同期、データ処理、データ管理、データ消費操作など、DataWorks の主な機能と共通タスクについて理解を深めます。
ケースの目的
ケースの期待値
このケースで説明されている操作を実行すると、データ同期、データ開発、タスク O&M など、DataWorks におけるデータ関連の共通タスクを単独で完了できるようになります。
対象読者
このケースは、開発者、データアナリスト、プロダクト運用担当者など、データウェアハウスからデータを抽出して分析とインサイトを得る必要がある担当者に適しています。
ケース設計
ビジネス戦略を策定するには、Web サイトの行動データから基本的なユーザープロファイルを抽出する必要があります。たとえば、ユーザーグループの地理的属性や社会的属性などの情報を取得して、定期的なタスクスケジューリングを実装し、Web サイトトラフィックの詳細な操作を実現する必要があります。これらの操作は DataWorks を使用して完了する必要があります。
関連サービス
Web サイトのユーザープロファイル分析プロセスには、生データを格納するために使用されるデータベース、コンピューティングストレージデータベース、およびプロセス全体を開発するためのプラットフォームが関係します。次の表に、このケースに関連するサービスを示します。
サービスカテゴリ | サービス名 | 説明 |
データベース | このケースでは、基本的なユーザー情報を格納するために ApsaraDB RDS for MySQL データベースを提供します。 | |
このケースでは、ログ情報を格納するために OSS オブジェクトを提供します。 | ||
コンピューティングエンジン | このケースでは、DataWorks ベースの開発に MaxCompute、EMR、EMR Serverless StarRocks、または EMR Serverless Spark 計算リソース を使用して、生データを処理し、処理済みデータを目的のデータウェアハウスに格納できます。 | |
データ中台 | このケースでは、DataWorks はデータ中台として機能し、データ同期、データ処理、データ品質監視、データ消費、タスクスケジューリングに使用されます。 |
異なるコンピューティングエンジンが関係する Web サイトのユーザープロファイル分析プロセスを経験する場合、データベース と DataWorks は、これらの Web サイトのユーザープロファイル分析プロセスで共通のリソースです。異なるコンピューティングエンジンを計算リソースとして DataWorks ワークスペースに関連付けるだけで済みます。
EMR または EMR Serverless Spark 計算リソースを使用する場合は、ケースの 基本的なユーザー情報 と ログ情報 を受信するために OSS データソースを準備する必要があります。EMR Serverless StarRocks をコンピューティングおよびストレージサービスとして使用する場合は、StarRocks に関数を登録するために使用される
.jarパッケージを格納するために OSS データソースを準備する必要があります。さらに、OSS データソースに十分なストレージ容量があり、必要な権限を持っていることを確認する必要があります。
シナリオ設計
必要なデータベースをデータソースとして DataWorks ワークスペースに追加し、必要なコンピューティングエンジンを計算リソースとして DataWorks ワークスペースに関連付ける必要があります。これにより、計算リソース内のデータを処理して、必要な地理的属性、社会的属性、ユーザーグループのその他の情報を取得し、データ情報を管理および消費できます。
プロセス設計
このケースでは、使用するコンピューティングエンジンに基づいて適切な Web サイトのユーザープロファイル分析プロセスを選択できます。4 種類のコンピューティングエンジンが関係するユーザープロファイル分析のドキュメントが提供されています。ユーザープロファイル分析 (MaxCompute)、ユーザープロファイル分析 (StarRocks)、ユーザープロファイル分析 (EMR)、ユーザープロファイル分析 (Spark)。プロセスには次の手順が含まれます。
Data Integration を使用して、異なるデータソースからコンピューティングエンジンにユーザーの基本情報と Web サイトアクセスログを抽出します。
コンピューティングエンジンでユーザーの Web サイトアクセスログを処理および分割して、分析可能なフィールドにします。
コンピューティングエンジンでユーザーの基本情報と処理済みの Web サイトアクセスログを集計します。
データをさらに処理して、基本的なユーザープロファイルを作成します。
操作
次の表に、このケースに関連する操作を示します。
手順 | 操作 | 段階的目標 |
データの同期 | MySQL からのユーザー情報データと OSS に格納されているユーザーアクセスログデータを異なる計算リソースに同期します。
| 次の項目について学習します。
|
データの処理 | Data Studio を使用して、関数や正規表現などのメソッドを使用してログデータを分析可能なフィールドに分割し、ユーザー情報テーブルを使用してフィールドを処理および集計して、基本的なユーザープロファイルデータを作成します。 | 次の項目について学習します。
|
データの管理 | データマップ を使用して、ソーステーブルのメタデータを管理および表示します。ソースデータの変更中に生成されたダーティデータを監視します。エラーが発生した場合は、関連するタスクの実行を停止して、エラーによる悪影響を防ぎます。 |
|
データの消費 | DataWorks に基づいてデータを視覚的に表示し、API を作成する方法について学習します。 |
ケースデータ
このセクションのデータ構造は、後続のデータ同期、処理、および管理手順で使用されて、ユーザープロファイルが生成されます。
ログデータ構造
このケースの操作を実行する前に、既存のビジネスデータ、データ形式、およびビジネスバックグラウンド分析に必要な基本的なユーザープロファイルデータ構造をよく理解していることを確認してください。
次のコードは、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 | HTTP リクエスト。 HTTP リクエストは、リクエストタイプ、リクエスト URL、および HTTP バージョン番号で構成されます。 |
$status | サーバーから返される状態コード。 |
$body_bytes_sent | クライアントに返されるバイト数。ヘッダーのバイト数はフィールド値に含まれません。 |
$http_referer | リクエストのソース URL。 |
$http_user_agent | リクエストを送信するクライアントに関する情報 (使用されているブラウザなど)。 |
ユーザー情報データ構造
次の表に、MySQL ユーザー情報データテーブル ods_user_info_d のテーブル構造を示します。
フィールド名 | フィールドの説明 |
uid | ユーザー名。 |
gender | 性別。 |
age_range | 年齢層。 |
zodiac | 星座。 |
最終的に取得されるデータ構造
次の表に、生データの分析に基づいて取得できる最終データテーブル構造を示します。ビジネス要件に基づいて最終データテーブル構造を確認できます。
フィールド名 | フィールドの説明 |
uid | ユーザー名。 |
region | 地域。 |
device | 端末タイプ。 |
pv | ページビュー数。 |
gender | 性別。 |
age_range | 年齢層。 |
Zodiac | 星座。 |