このチュートリアルでは、DataWorks Data Integration バッチ同期タスクを使用してデータウェアハウスにデータを投入する方法を説明します。MySQL テーブル ods_user_info_d の基本的なユーザー情報と、Object Storage Service (OSS) ファイル user_log.txt のウェブサイトアクセスログを、それぞれ MaxCompute テーブル ods_user_info_d_odps と ods_raw_log_d_odps に同期します。
前提条件
目的
このチュートリアルで提供するパブリックデータソースから MaxCompute にデータを同期し、ビジネスワークフローにおけるデータ同期手順を完了します。
ソースタイプ | ソースデータ | ソーススキーマ | 宛先タイプ | 宛先テーブル | 宛先スキーマ |
MySQL | テーブル: ods_user_info_d 基本的なユーザー情報 |
| MaxCompute |
|
|
HttpFile | オブジェクト: user_log.txt ユーザーの Web サイトアクセスログ | 各行がユーザーアクセスレコードです。 | MaxCompute |
|
|
このチュートリアルで提供するテストデータにアクセスするには、対応するデータソースをワークスペースに追加してください。
このチュートリアルのデータは、DataWorks でのハンズオン用にモックされており、Data Integration モジュールでのみ読み取れます。
DataStudio への移動
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[DataStudioに移動] をクリックします。
手順1:ワークフローの設計
ワークフローの設計
ワークフローを作成します。
DataWorks では、開発コンポーネントを使用してワークフロー内でデータ開発を行います。ノードを作成する前に、ワークフローを作成する必要があります。詳細については、「ワークフローの作成」をご参照ください。
ワークフローに
user_profile_analysis_MaxComputeという名前を付けます。ワークフローを設計します。
ワークフローを作成すると、そのキャンバスが自動的に開きます。ワークフロー設計に基づき、キャンバスで ノードの作成 をクリックします。必要なノードをキャンバスにドラッグし、ノード間に線を引いて、データ同期ステージの依存関係を設定します。

このチュートリアルでは、ゼロロードノードとバッチ同期ノードの間にデータリネージはありません。したがって、ワークフローで線を引いて依存関係を設定する必要があります。依存関係を設定する他の方法の詳細については、「スケジューリング依存関係の設定」をご参照ください。次の表に、各ノードのカテゴリ、タイプ、名前、および機能を示します。
カテゴリ
タイプ
ノード名
(最終出力テーブルに基づいて命名)
説明
一般
ゼロロードノード
workshop_start_odpsユーザープロファイル分析ワークフロー全体 (ワークフローをいつトリガーするかの設定など) を管理します。ワークフローが複雑な場合、このノードはデータフローパスを明確にするのに役立ちます。これはドライランノードであり、コード編集は不要です。
データ統合
バッチ同期
ods_user_info_d_odpsMySQL から MaxCompute テーブル
ods_user_info_d_odpsに基本的なユーザー情報を同期します。データ統合
バッチ同期
ods_raw_log_d_odpsOSS から MaxCompute テーブル
ods_raw_log_d_odpsにユーザーの Web サイトアクセスログを同期します。
スケジューリングロジックの設定
このチュートリアルでは、ゼロロードノード workshop_start_odps は、毎日 00:30 にワークフロー全体を実行するようにトリガーします。次の表に、ゼロロードノードの主要なスケジューリング設定を示します。他のノードのスケジューリング設定を変更する必要はありません。実装ロジックの詳細については、「時間プロパティの詳細設定」をご参照ください。他のスケジューリング設定の詳細については、「タスクスケジューリングプロパティの概要」をご参照ください。
スケジューリング設定 | 例 | 説明 |
スケジューリング時間設定 | スケジューリング時間フィールドを 00:30 に設定し、毎日この時刻にノードが実行されるようにします。 | スケジューリング時間が 00:30 に設定されているため、ゼロロードノードは毎日この時刻にワークフローが実行されるようにトリガーします。 |
スケジューリング依存関係設定 | [Upstream Dependencies] セクションで、[Use Root Node of Workspace] チェックボックスを選択します。システムは、出力名が | ノード |
DataWorks のすべてのノードは、上流ノードに依存する必要があります。データ同期ステージのすべてのタスクは、ゼロロードノード workshop_start_odps に依存します。つまり、workshop_start_odps ノードがデータ同期ワークフローをトリガーします。
ステップ 2:同期パイプラインの構築
宛先 MaxCompute テーブルの作成
Data Integration を使用して同期する生データを格納するため、MaxCompute テーブルを事前に作成する必要があります。このチュートリアルでは、必要なテーブルを迅速に作成する方法を示します。詳細については、「Create and use MaxCompute tables」をご参照ください。
テーブルを作成します。
ナビゲーションペインで、MaxCompute の [Table] ノードを右クリックし、ショートカットメニューから [Create Table] を選択します。
ods_raw_log_d_odps テーブルを作成します。
[Create Table] ダイアログボックスで、名前に
ods_raw_log_d_odpsを入力します。テーブルエディターページで DDL パターン をクリックし、以下の DDL 文を入力します。次に テーブルスキーマの生成 をクリックし、確認 をクリックして現在の構成を上書きします。CREATE TABLE IF NOT EXISTS ods_raw_log_d_odps ( col STRING ) PARTITIONED BY ( dt STRING ) LIFECYCLE 7;ods_user_info_d_odps テーブルを作成します。
[Create Table] ダイアログボックスで、名前に
ods_user_info_d_odpsを入力します。テーブルエディターページで DDL パターン をクリックし、以下の DDL 文を入力します。次に テーブルスキーマの生成 をクリックし、確認 をクリックして現在の構成を上書きします。CREATE TABLE IF NOT EXISTS ods_user_info_d_odps ( uid STRING COMMENT 'ユーザー ID', gender STRING COMMENT '性別', age_range STRING COMMENT '年齢範囲', zodiac STRING COMMENT '星座' ) PARTITIONED BY ( dt STRING ) LIFECYCLE 7;テーブルをコミットしてデプロイします。
テーブル情報を確認した後、ods_user_info_d_odps と ods_raw_log_d_odps の両方のテーブルに対して 開発環境へのコミット と 本番環境へのコミット をクリックします。この操作により、ノード構成に基づいて、開発環境と本番環境に対応するコンピューティングエンジンプロジェクトに物理テーブルが作成されます。
説明コミットが成功した後にのみ、対応する環境のコンピューティングエンジンプロジェクトでテーブルを確認できます。
テーブルを DataWorks の開発環境にコミットすると、開発環境に関連付けられている MaxCompute コンピューティングエンジンにテーブルが作成されます。
テーブルを DataWorks の本番環境にコミットすると、本番環境に関連付けられている MaxCompute コンピューティングエンジンにテーブルが作成されます。
ソースデータソースの作成
このチュートリアルでは、MySQL database と Object Storage Service (OSS) のテストデータを使用します。提供されているテストデータにアクセスするため、ワークスペースに user_behavior_analysis_mysql という名前の MySQL データソースと、user_behavior_analysis_httpfile という名前の HttpFile データソースを作成する必要があります。これらのテストデータソースの基本情報は提供されています。
Data Integration の同期タスクを構成する前に、DataWorks の [Data Source] ページで、ソースおよび宛先のデータベースまたはデータウェアハウスを追加して構成できます。これにより、タスク構成時に名前でデータソースを選択し、データのソースと宛先を指定できます。
このチュートリアルで提供されるデータは、DataWorks でのハンズオン専用です。すべてのデータはモックであり、Data Integration モジュールでのみ読み取れます。
この手順で作成する HttpFile および MySQL データソースのテストデータはインターネット上にあります。Step 2 で説明されているとおり、DataWorks リソースグループに Internet NAT ゲートウェイを構成していることを確認してください。構成していない場合、ネットワーク接続をテストすると以下のエラーメッセージが表示されます:
HttpFile:
ErrorMessage:[Connect to dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com:443 [dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com/106.14.XX.XX] failed: connect timed out]。MySQL:
ErrorMessage:[Exception:Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.<br><br>ExtraInfo:Resource Group IP:****,detail version info:mysql_all],Root Cause:[connect timed out]。
MySQL データソース
提供されている MySQL データベースからユーザー情報を読み取るため、ワークスペースに MySQL データソースを作成します。次に、このデータソースとデータ同期用リソースグループ間のネットワーク接続をテストします。
[データソース] ページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[Management Center] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターに移動] をクリックします。
表示されるページの左側のナビゲーションウィンドウで、[データソース] をクリックします。 [データソース] ページが表示されます。
MySQL データソースを作成します。
管理センター ページで、 に移動し、データソースの追加 をクリックします。
[Add Data Source] ダイアログボックスで、MySQL を検索して選択します。
[Create MySQL Data Source] ダイアログボックスで、パラメータを構成します。
パラメータ
説明
Data source name
user_behavior_analysis_mysql を入力します。
Data source description
データソースの説明を入力します。このデータソースは DataWorks ワークショップ用です。バッチ同期タスクを構成する際に、プラットフォームからテストデータを読み取れます。このデータソースは Data Integration で読み取り専用アクセスをサポートし、他のモジュールでは使用できません。
Configuration mode
[接続文字列モード] を選択します。
Environment
[Development] と [Production] を選択します。
説明開発環境と本番環境の両方にデータソースを作成する必要があります。作成しない場合、本番環境でタスクを実行するとエラーが報告されます。
Connection address
Host IP address
rm-bp1z69dodhh85z9qa.mysql.rds.aliyuncs.comPort number
3306Database name
workshopUsername
workshopPassword
workshop#2017Authentication option
認証なし。
Connection configuration
[Connection Configuration] セクションで Serverless リソースグループを見つけ、接続状態 列の 接続テスト をクリックして、開発環境と本番環境の両方のネットワーク接続をテストします。テストが完了し、接続ステータスが 到達可能 に変わるまで待ちます。
重要この手順で作成する MySQL データソースのテストデータはインターネット上にあります。Step 2 で説明されているとおり、DataWorks リソースグループに Internet NAT ゲートウェイを構成していることを確認してください。構成していない場合、ネットワーク接続をテストすると以下のエラーが表示されます:
ErrorMessage:[Exception:Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.<br><br>ExtraInfo:Resource Group IP:****,detail version info:mysql_all],Root Cause:[connect timed out]。
HttpFile データソース
OSS からユーザーの Web サイトアクセスログを読み取るため、ワークスペースに HttpFile データソースを作成します。次に、このデータソースとデータ同期用リソースグループ間のネットワーク接続をテストします。
[データソース] ページに移動します。
DataWorks コンソールにログインします。 左側のナビゲーションウィンドウで、[Management Center] をクリックします。 表示されるページで、ドロップダウンリストから目的のワークスペースを選択し、[管理センターに移動] をクリックします。
表示されるページの左側のナビゲーションウィンドウで、[データソース] をクリックします。 [データソース] ページが表示されます。
HttpFile データソースを作成します。
管理センター ページで、 に移動し、データソースの追加 をクリックします。
データソースの追加 ダイアログボックスで、[HttpFile] を検索して選択します。
[Create HttpFile Data Source] ダイアログボックスで、パラメータを構成します。以下の表に主要なパラメータを示します。
主要パラメータ
説明
Data source name
ワークスペース内でデータソースを識別するための名前を入力します。このチュートリアルでは、データソース名を user_behavior_analysis_httpfile に設定します。
Data source description
データソースの説明を入力します。このデータソースは DataWorks ワークショップ用です。バッチ同期タスクを構成する際に、プラットフォームからテストデータを読み取れます。このデータソースは Data Integration で読み取り専用アクセスをサポートし、他のモジュールでは使用できません。
Environment
[Development] と [Production] を選択します。
説明開発環境と本番環境の両方にデータソースを作成する必要があります。作成しない場合、本番環境でタスクを実行するとエラーが報告されます。
URL domain
https://dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.comを入力します。Connection configuration
[Connection Configuration] セクションで Serverless リソースグループを見つけ、接続状態 列の 接続テスト をクリックして、開発環境と本番環境の両方のネットワーク接続をテストします。テストが完了し、接続ステータスが 到達可能 に変わるまで待ちます。
重要この手順で作成する HttpFile データソースのテストデータはインターネット上にあります。Step 2 で説明されているとおり、DataWorks リソースグループに Internet NAT ゲートウェイを構成していることを確認してください。構成していない場合、ネットワーク接続をテストすると以下のエラーが表示されます:
ErrorMessage:[Connect to dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com:443 [dataworks-workshop-2024.oss-cn-shanghai.aliyuncs.com/106.14.XX.XX] failed: connect timed out]。
ユーザーデータ同期パイプラインの構成
このセクションでは、バッチ同期ノードを構成して、提供されている MySQL テーブル ods_user_info_d の基本ユーザー情報を MaxCompute テーブル ods_user_info_d_odps に同期する方法を説明します。
ods_user_info_d_odpsバッチ同期ノードをダブルクリックして、ノードエディターを開きます。ネットワークとリソースを構成します。
データソース、マイリソースグループ、データ宛先 を構成した後、次へ をクリックし、画面の指示に従って接続テストを完了します。必要な構成を以下の表に示します。
パラメータ
構成
データソース
データソース:
MySQLデータソース名:
user_behavior_analysis_mysql
マイリソースグループ
Prepare the environment で購入した Serverless リソースグループを選択します。
データ宛先
データ宛先:
MaxComputeデータソース名:
user_behavior_analysis_odps
タスクを構成します。
ソースと宛先を構成します。
モジュール
パラメータ
構成
データソース
テーブル
MySQL テーブル
ods_user_info_dを選択します。シャードキー
主キーまたはインデックス列を分割キーとして使用します。整数型フィールドのみサポートされています。
このチュートリアルでは、分割キーを
uidフィールドに設定します。データ宛先
Tunnel リソースグループ
このチュートリアルでは、デフォルトで common transmission resources を使用します。専用の Tunnel クォータがある場合は、ドロップダウンリストから選択できます。
説明MaxCompute のデータ転送リソースの詳細については、「Purchase and use exclusive resource groups for data transmission」をご参照ください。支払い遅延または有効期限切れにより専用の Tunnel クォータを使用できない場合、タスクは自動的に common transmission resources を使用するように切り替わります。
スキーマ
このチュートリアルではデフォルトスキーマを使用します。MaxCompute プロジェクトに他のスキーマがある場合は、ドロップダウンリストから選択できます。
テーブル
事前に作成した
ods_user_info_d_odpsテーブルを選択します。パーティション情報
このチュートリアルでは、
${bizdate}パラメータを入力します。書き込みモード
このチュートリアルでは、[Clean up existing data before writing (Insert Overwrite)] を選択します。
以下の書き込みモードがサポートされています:
insert into: テーブルまたは静的パーティションにデータを直接挿入します。
insert overwrite: 新しいデータを挿入する前に、テーブルまたは静的パーティション内の既存データをクリアします。
空文字列を Null に変換して書き込み
このチュートリアルでは、いいえ を選択します。
フィールドマッピングと一般設定を確認します。
DataWorks では、ソースフィールドを宛先フィールドにマッピングできます。これにより、指定したソースフィールドのデータが正しい宛先フィールドに書き込まれます。また、読み取り/書き込みの同時実行の設定、同期がデータベースのパフォーマンスに影響しないようにするためのレート制限、ダーティデータ処理の定義、分散タスクの実行などの機能も提供されます。このチュートリアルではデフォルト設定を使用します。その他の構成オプションの詳細については、「Configure a batch synchronization node by using the codeless UI」をご参照ください。
スケジューリングプロパティを構成します。
構成ページで、右側ペインの [Scheduling settings] をクリックして [スケジューリング設定] パネルを開きます。ここで、スケジューリングとノード情報を構成できます。詳細については、「Configure scheduling properties for a node」をご参照ください。このチュートリアルでは、次の構成を使用します。
パラメータ
構成
スケジューリングパラメーター
デフォルト値
$bizdateを使用します。説明bizdate=$bizdate は、前日の日付を
yyyymmdd形式で取得します。時間プロパティ
スケジューリング周期:
Day。スケジュール時刻:
00:30。再実行プロパティ:前回の成功/失敗に関係なく、タスクの再実行を許可します。
その他のパラメータはデフォルト値を使用します。
説明ノードは毎日 00:30 以降にのみ実行されます。
リソースプロパティ
Prepare the environment で作成した Serverless リソースグループを選択します。
スケジュール依存
依存する先祖ノード を確認します:現在のノードの 親ノード として
workshop_startノードが表示されていることを確認します。ノードを接続して設定した親ノードがここに表示されます。workshop_startノードが表示されない場合は、「Design a business flow」を参照して、データ同期フェーズの業務フローを設計していることを確認してください。このユースケースでは、
workshop_startノードがスケジュール時刻に実行され、正常に完了した後に現在のノードがトリガーされます。ノード出力名が
[Name of the MaxCompute production project].ods_user_info_d_odpsのノード出力が存在することを確認します。存在しない場合は、この 出力名 で手動で追加する必要があります。
ユーザーログ同期パイプラインの構成
このセクションでは、バッチ同期ノードを構成して、提供されているパブリック HttpFile データソースの user_log.txt ファイルからユーザーの Web サイトアクセスデータを MaxCompute テーブル ods_raw_log_d_odps に同期する方法を説明します。
ods_raw_log_d_odpsバッチ同期ノードをダブルクリックして、ノードエディターを開きます。ネットワークとリソースを構成します。
データソース、マイリソースグループ、データ宛先 を構成した後、次へ をクリックし、画面の指示に従って接続テストを完了します。必要な構成を以下の表に示します。
パラメータ
構成
データソース
データソース:
HttpFileデータソース名:
user_behavior_analysis_httpfile
マイリソースグループ
Prepare the environment で購入した Serverless リソースグループを選択します。
データ宛先
データ宛先:
MaxComputeデータソース名:
user_behavior_analysis_odps
タスクを構成します。
ソースと宛先を構成します。
モジュール
パラメータ
構成
データソース
ファイルパス
このチュートリアルでは、
/user_log.txtを入力します。テキストタイプ
textを選択します。列区切り文字
このチュートリアルでは、
|を入力します。詳細設定
エンコーディング
UTF-8エンコーディング形式を選択します。圧縮フォーマット
Noneを選択します。テーブルヘッダーをスキップするかどうか
Noを選択します。データ宛先
Tunnel リソースグループ
このチュートリアルでは、デフォルトで common transmission resources を使用します。専用の Tunnel クォータがある場合は、ドロップダウンリストから選択できます。
説明MaxCompute のデータ転送リソースの詳細については、「Purchase and use exclusive resource groups for data transmission」をご参照ください。支払い遅延または有効期限切れにより専用の Tunnel クォータを使用できない場合、タスクは自動的に common transmission resources を使用するように切り替わります。
スキーマ
このチュートリアルではデフォルトスキーマを使用します。DataWorks プロジェクトに他のスキーマがある場合は、ドロップダウンリストから選択できます。
テーブル
事前に作成した
ods_raw_log_d_odpsテーブルを選択します。パーティション情報
このチュートリアルでは、
${bizdate}パラメータを入力します。書き込みモード
このチュートリアルでは、[Clean up existing data before writing (Insert Overwrite)] を選択します。
以下の書き込みモードがサポートされています:
insert into: テーブルまたは静的パーティションにデータを直接挿入します。
insert overwrite: 新しいデータを挿入する前に、テーブルまたは静的パーティション内の既存データをクリアします。
空文字列を Null に変換して書き込み
このチュートリアルでは、いいえ を選択します。
ソースを構成した後、テーブルのデータ構造の確認 をクリックして、ログファイルを正しく読み取れることを確認します。
フィールドマッピングと一般設定を確認します。
DataWorks では、ソースフィールドを宛先フィールドにマッピングできます。これにより、指定したソースフィールドのデータが正しい宛先フィールドに書き込まれます。また、読み取り/書き込みの同時実行の設定、同期がデータベースのパフォーマンスに影響しないようにするためのレート制限、ダーティデータ処理の定義、分散タスクの実行などの機能も提供されます。このチュートリアルではデフォルト設定を使用します。その他の構成オプションの詳細については、「Configure a batch synchronization node by using the codeless UI」をご参照ください。
スケジューリングプロパティを構成します。
構成ページで、右側ペインの [Scheduling settings] をクリックして [スケジューリング設定] パネルを開きます。ここで、スケジューリングとノード情報を構成できます。詳細については、「Configure scheduling properties for a node」をご参照ください。このチュートリアルでは、次の構成を使用します。
パラメータ
構成
スケジューリングパラメーター
デフォルト値
$bizdateを使用します。説明bizdate=$bizdate は、前日の日付を
yyyymmdd形式で取得します。時間プロパティ
スケジューリング周期:
Day。スケジュール時刻:
00:30。再実行プロパティ:前回の成功/失敗に関係なく、タスクの再実行を許可します。
その他のパラメータはデフォルト値を使用します。
説明ノードは毎日 00:30 以降にのみ実行されます。
リソースプロパティ
Prepare the environment で作成した Serverless リソースグループを選択します。
スケジュール依存
依存する先祖ノード を確認します:現在のノードの 親ノード として
workshop_startノードが表示されていることを確認します。ノードを接続して設定した親ノードがここに表示されます。workshop_startノードが表示されない場合は、「Design a business flow」で説明されているとおり、業務データ同期フェーズの業務フローを設計していることを確認してください。このユースケースでは、
workshop_startノードがスケジュール時刻に実行され、正常に完了した後に現在のノードがトリガーされます。ノード出力名が
[Name of the MaxCompute production project].ods_raw_log_d_odpsのノード出力が存在することを確認します。存在しない場合は、この 出力名 で手動で追加する必要があります。
III. フローの実行と結果の確認
ビジネスフローの実行
[DataStudio] ページで、業務フロー の下にある
User Profile Analysis_MaxComputeをダブルクリックします。 ビジネスフロー パネルが開いたら、ツールバーの
アイコンをクリックして、アップストリームおよびダウンストリームの依存関係に基づいてビジネスフローを実行します。実行を確認します:
タスクの実行ステータスを確認します。
状態のノードは、同期が正常に完了したことを意味します。実行ログの表示:
ods_user_info_d_odpsノードとods_raw_log_d_odpsノードを右クリックし、[ログの表示] を選択します。 ログに以下のキーワードが含まれている場合、ノードが正常に実行され、データが同期されたことを示します。正常な実行を示すキーワードには、「
completed successfully」、「Shell run successfully!」、「Exit with SUCCESS」などがあります。
同期結果の検証
ビジネスフローが実行されると、MySQL の ods_user_info_d テーブルのデータが workshop2024_01_dev.ods_user_info_d_odps の前日のパーティションに同期され、OSS の user_log.txt ファイルのログが workshop2024_01_dev.ods_raw_log_d_odps の前日のパーティションに同期されます。SQL クエリを本番環境に公開する必要がないため、アドホッククエリを作成して結果を検証できます。
アドホッククエリファイルを作成します。
[データ開発] ページの左側のメニューで
アイコンをクリックし、[Ad Hoc Query] ペインを開きます。[Ad Hoc Query] を右クリックし、ノードの作成 > [ODPS SQL] を選択します。宛先テーブルをクエリします。
次の SQL 文を実行して、データが正しく書き込まれたことを確認します。
ods_raw_log_d_odpsテーブルとods_user_info_d_odpsテーブルにインポートされたレコード数を確認します。// 'your_business_date' を実際の業務日付に置き換えます。たとえば、タスクが 20230621 に実行された場合、業務日付は 20230620 (実行日の前日) です。 select count(*) from ods_user_info_d_odps where dt='your_business_date'; select count(*) from ods_raw_log_d_odps where dt='your_business_date';同期が成功した場合、
ods_user_info_d_odpsはゼロ以外のカウント (たとえば 6) を返し、ods_raw_log_d_odpsもゼロ以外のカウントを返します。これは、データが対応するパーティションに正常に書き込まれたことを示します。説明このチュートリアルは DataStudio (開発環境) で実行されるため、データはデフォルトで開発環境の MaxCompute プロジェクト
workshop2024_01_dev内の指定されたテーブルに書き込まれます。
次のステップ
データ同期が完了したので、次のチュートリアルに進んで、MaxCompute で基本的なユーザー情報と Web サイトアクセスログを処理する方法を学習してください。詳細については、「データ処理」をご参照ください。