概要
このトピックでは、コンテンツ業界のデータ仕様について説明します。既存データとリアルタイム データをアップロードする際は、これらの仕様に準拠する必要があります。
データの説明
コンテンツ業界のシーンでは、次の 3 つのデータ テーブルを準備する必要があります。
アイテム テーブル: このテーブルには、現在のシーンで推奨できる最近のアイテムがすべて含まれています。このトピックでは、アイテムとはコンテンツを指します。
追加できるアイテムにはクォータ制限があります。テーブルをアップロードする前に、アイテムの重複を削除することをお勧めします。
item_id フィールドと item_type フィールドは一緒に使用して、アイテムを一意に識別します。
ユーザー テーブル: このテーブルには、最近システムに登録されたすべてのユーザーが含まれています。
追加できるユーザーにはクォータ制限があります。テーブルをアップロードする前に、ユーザーの重複を削除することをお勧めします。
imei フィールド、または user_id フィールドと imei フィールドの組み合わせを使用して、ユーザーを一意に識別できます。たとえば、後者の場合、user_id フィールドを使用してログイン ユーザーを識別し、imei フィールドを使用してログインしていないユーザーを識別できます。
すべてのユーザーが一意であることを確認してください。レコメンデーション結果をリクエストする際は、ユーザーの一意の識別子を指定する必要があります。指定しないと、パーソナライズされたレコメンデーションを実現できません。
行動テーブル: このテーブルには、現在のシーンにおける最近の行動データが含まれています。
過去 1 ~ 2 週間の行動データを提供することをお勧めします。技術的な理由で行動データを提供できない場合、またはシーンが新しく既存データがない場合は、人工知能レコメンデーション (AIRec) が提供するテストデータを使用できます。この場合、レコメンデーション モデルは、次の 2 週間で要件を満たさない結果を返す可能性があります。データが蓄積されるにつれて、レコメンデーションはより正確になります。テーブルにできるだけ多くのオプション フィールドを指定することをお勧めします。
有効なオプション フィールドを多く指定するほど、レコメンデーション結果は向上します。オプション フィールドを指定しない場合、システムはデフォルト値を使用します。
テーブル スキーマ
1. 次のテーブルの「必須」列で「必須」とマークされているフィールドを指定する必要があります。「必須」列で「必須」および「推奨」とマークされているフィールドは、レコメンデーション結果に大きな影響を与えます。フィールドについては、「値の説明」列で説明されています。
2. AIRec インスタンスを開始するにはデータが必要です。MaxCompute テーブルを使用して既存データをアップロードし、AIRec インスタンスを開始できます。この場合、テーブルのオプション フィールドは空のままにすることができます。ただし、テーブルにはすべてのフィールドが含まれている必要があります。テーブルを作成するための文の詳細については、このトピックの「CREATE TABLE 文」セクションをご参照ください。
アイテム
フィールド名 | データ型 | 必須 | フィールドの説明 | 有効な値 | 値の説明 | 例 |
item_id | 文字列 | 必須 | アイテムの一意の ID。値には、文字と数字のみを含めることができます。 | カスタム | 1. item_id フィールドと item_type フィールドは、アイテムを一意に識別します。 2. item_id フィールドの値は、最大 50 文字までです。 注: レポートされたアイテム ID は、後で使用するために記録する必要があります。 | 34513 |
item_type | 文字列 | 必須 | アイテムのタイプ。 | image、article、video、shortvideo、item、recipe、audio。列挙された値がビジネス要件を満たしていない場合は、テクニカルサポートにお問い合わせください。 | アップロードされたデータは、指定されたアイテム タイプと一致する必要があります。そうでない場合、混合ソートは有効になりません。 | article |
status | 文字列 | 必須 | アイテムを推奨できるかどうかを指定します。 | 0 および 1 |
説明 ステータスの変更はすぐに有効になります。 | 1 |
scene_id | 文字列 | 必須 | シーンの ID。 アイテムはさまざまなシーンに推奨されます。シーンは、ユーザーと Web ページのタイプによって異なります。 | カスタム | 1. 頭字語、または文字と数字の組み合わせを使用することをお勧めします。 2. コロン (:) は使用しないでください。 3. このフィールドを -102 に設定しないでください。この値は、システムによって予約されている内部値です。 4. シーンが 1 つしかない場合は、このフィールドを 1 に設定します。 5. このフィールドに複数のシーン ID を設定し、コンマ (,) で区切ることができます。シーン ID は、アイテムが推奨されるさまざまな Web ページと一致します。詳細については、「シーン ID を使用する」をご参照ください。 | a101,b102 |
duration | 文字列 | 動画業界では必須、その他の業界ではオプション | 動画の長さ。値は 0 以上 36000 未満である必要があります。単位: 秒。 | カスタム | 動画の長さ。 | 1000 |
pub_time | 文字列 | 必須 | アイテムがリリースされた時刻。値は、秒単位で正確な UNIX タイムスタンプです。このフィールドは、アイテムが最新のアイテムかどうかを判断するために使用されます。 | カスタム | 適時性が非常に重要な場合は、このフィールドが必須です。このフィールドは、新しいアイテムのレコメンデーションに使用されます。 | 1520327038 |
expire_time | 文字列 | 推奨 | アイテムの有効期限が切れる時刻。値は、秒単位で正確な UNIX タイムスタンプです。 | カスタム | 1. サーバーの現在のシステム時刻がこのフィールドの値より遅い場合、アイテムの有効期限が切れ、推奨されなくなります。 2. テーブル内のすべてのアイテムの有効期限が切れると、サービスを開始できません。 3. このフィールドを空のままにすると、アイテムの有効期限は切れません。 | 1520327038 |
last_modify_time | 文字列 | オプション | アイテム情報が最後に変更された時刻。値は、秒単位で正確な UNIX タイムスタンプです。 | カスタム | リリースされたアイテムに大きな更新を行い、適時性が非常に重要な場合は、このフィールドを更新できます。このフィールドは pub_time と似ています。どちらのフィールドも、新しいアイテムを識別するために使用されます。 | 1520327038 |
title | 文字列 | 推奨 | アイテムのタイトル。 | カスタム | このフィールドは、詳細なセマンティック分析に使用されます。このフィールドを空のままにすると、アルゴリズムの結果の一部が失われる可能性があります。このフィールドを設定することをお勧めします。 | デジタル時代は最大のチャンスを提供する |
weight | 文字列 | 推奨 | アイテムの重み付けを行うかどうかを指定します。注: 1. 重み付けされたアイテムの場合は、このフィールドを 100 に設定します。重み付けされていないアイテムの場合は、このフィールドを 1 に設定します。 2. このフィールドは 100 または 1 に設定する必要があります。その他の値は無効です。 3. 重み付けされたアイテムの数は、アイテムの総数の 10% 以下にすることをお勧めします。 | カスタム | 1. このフィールドを空のままにすると、デフォルト値の 1 が使用されます。 2. 重み付けされたアイテムは、推奨される可能性が高くなります。 | 1 |
category_level | 文字列 | 推奨 | カテゴリ レベル (レベル 3 など)。 | カスタム | この値が category_path フィールドの値と一致しない場合、離散化機能に影響します。 | 3 |
category_path | 文字列 | 推奨 | カテゴリ パス。カテゴリはアンダースコア (_) で区切ります。 | カスタム | 1. カテゴリ パスには複数のカテゴリを含めることができます。カテゴリはアンダースコア (_) で区切る必要があります。 2. コンマ (,) またはコロン (:) は使用できません。カテゴリ パスは、離散化ポリシーで使用されます。 | 12_1024_56 |
tags | 文字列 | 推奨 | アイテムのタグ。複数のタグはコンマ (,) で区切ります。 | カスタム | 1. タグは、アイテムの特性を説明するために使用されます。独自のタグ ライブラリを管理する必要があります。 2. アルゴリズム モデルは、タグに基づいて特性分析を実行します。 3. 1 つのアイテムにつき最大 100 個のタグを作成できます。各タグ プールに 50,000 個を超えるタグを作成しないことをお勧めします。 4. タグが機密ビジネスデータの場合は、関連するマッピングルールに基づいてタグを数字に変換し、機密解除されたデータをアップロードすることをお勧めします。 | デジタル化, 人工知能, AI |
author | 文字列 | 推奨 | 作成者。 | カスタム | 1. 複数の作成者はコンマ (,) で区切ります。1 つのアイテムに最大 100 人の作成者を指定できます。 2. 作成者に基づいて離散化を実装できます。 | Tom |
content | 文字列 | オプション | アイテムの本文部分。 | カスタム | このフィールドには、コンテンツの主要なセグメントを設定できます。最大 5,000 文字まで入力できます。このフィールドは、セマンティック分析に使用されます。 | デジタル協力に関するハイレベル パネルは、2019 年 6 月 10 日月曜日に国連事務総長にレポート「デジタル相互依存の時代」を提出しました。デジタル協力に関するハイレベル パネルの共同議長であるジャック・マー氏は、「デジタル時代は私たちにとって最大のチャンスだと考えています。最大のリスクは、この大きなチャンスを逃すことです」と述べました。 |
channel | 文字列 | 推奨 | コンテンツが属するチャンネル (経済など)。1 つのアイテムには 1 つのチャンネルのみがあります。 | カスタム | ||
organization | 文字列 | オプション | 組織。複数の組織はコンマ (,) で区切ります。 | カスタム | ||
pv_cnt | 文字列 | オプション | 1 か月のインプレッション数。 | カスタム | サービス開始時に、現在のシーンの行動データが少ない場合は、他のシーンの行動データをこのフィールドに追加できます。リアルタイム以外のデータも使用できます。モデルが安定した後、これらのフィールドのメンテナンスコストが高い場合は、優先度を低くして処理できます。 | 100000 |
click_cnt | 文字列 | オプション | 1 か月のクリック数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 1000 |
like_cnt | 文字列 | オプション | 1 か月の「いいね」数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 100 |
unlike_cnt | 文字列 | オプション | 1 か月の「よくないね」数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 100 |
comment_cnt | 文字列 | オプション | 1 か月のコメント数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 100 |
collect_cnt | 文字列 | オプション | 1 か月のお気に入り数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 100 |
share_cnt | 文字列 | オプション | 1 か月の共有数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 100 |
download_cnt | 文字列 | オプション | 1 か月のダウンロード数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 100 |
tip_cnt | 文字列 | オプション | 1 か月の報酬数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 100 |
subscribe_cnt | 文字列 | オプション | 1 か月のフォロー数。 | カスタム | リアルタイム以外のデータも使用できます。このフィールドは優先度を低くして処理できます。 | 100 |
source_id | 文字列 | オプション | アイテムがシーンにリリースされるプラットフォーム。 | カスタム | たとえば、1 を使用して Taobao を示し、2 を使用して Tmall を示すことができます。 | 1 |
country | 文字列 | オプション | 国のコード。 | カスタム | このフィールドには、ISO 3166-1 alpha-3 コードを設定します。 | CHN |
city | 文字列 | オプション | 都市の名前。 | カスタム | 杭州または上海 | |
features | 文字列 | オプション | アイテムの特性 (文字列)。 | カスタム | アイテムの特性はコンマ (,) で区切ります。特性は説明的でなければなりません。 | |
num_features | 文字列 | オプション | アイテムの特性 (数値)。 | カスタム | アイテムの特性はコンマ (,) で区切ります。このフィールドのコンマ (,) の数がすべてのアイテムで同じであることを確認してください。 |
ユーザー
フィールド名 | データ型 | 必須 | フィールドの説明 | 有効な値 | 値の説明 | 例 |
user_id | 文字列 | ログイン ユーザーの場合は必須 | ユーザーの一意の ID。 | カスタム | 1. このフィールドは、登録済みユーザーの場合は必須です。 2. このフィールドは、ユーザーを一意に識別します。 | 1234567 |
user_id_type | 文字列 | オプション | ユーザーの登録タイプ。 | 1234 | 1: アプリ アカウント。 2: 携帯電話番号。3: WeChat アカウント。4: その他。 | 2 |
imei | 文字列 | ログインしていないユーザーの場合は必須 | Android ユーザーの場合は、このフィールドに国際モバイル機器識別番号 (IMEI) の MD5 ハッシュ値を設定します。iOS ユーザーの場合は、このフィールドに広告主識別子 (IDFA) の MD5 ハッシュ値を設定します。 | カスタム | 1. このフィールドは、登録していないユーザーの場合は必須です。 2. MAC アドレスまたはデバイス番号が無効な場合、内部カスタマー ポートレート情報を使用できません。インプレッション ブロック機能のみが保持されます。 | IMEI 358800091015835 の MD5 ハッシュ値: 74f25e604e1a9dde7471fe2e25ae54d0、IDFA 41B2FD07-695A-4A27-8D26-C30ECE6F7EAD の MD5 ハッシュ値: 06e1565409c9fc4887036b97442135ee |
third_user_name | 文字列 | オプション | サードパーティ ユーザーの名前。 | カスタム | jack | |
third_user_type | 文字列 | オプション | サードパーティ プラットフォームの名前。 | カスタム | ||
phone_md5 | 文字列 | オプション | 携帯電話番号の MD5 ハッシュ値。値は 32 文字である必要があります。 | カスタム | d41d8cd98f00b204e9800998ecf8427e | |
gender | 文字列 | オプション | ユーザーの性別。 | male、female、unknown | 性別情報が機密情報の場合は、数字を使用できます。たとえば、0 を使用して男性を示し、1 を使用して女性を示し、2 を使用して不明を示します。 | male |
age | 文字列 | オプション | ユーザーの年齢。 | カスタム | 22 | |
age_group | 文字列 | オプション | 年齢層。 | カスタム | 20-25 | |
country | 文字列 | オプション | 国のコード。 | カスタム | このフィールドには、ISO 3166-1 alpha-3 コードを設定します。 | CHN |
city | 文字列 | オプション | 都市の名前。 | カスタム | 杭州または上海 | |
ip | 文字列 | オプション | 最後のログイン IP アドレス。 | カスタム | 202.113.XX.XX | |
device_model | 文字列 | オプション | デバイス モデル。 | カスタム | iphoneX | |
tags | 文字列 | オプション | ユーザー タグ。複数のタグはコンマ (,) で区切ります。 | カスタム | タグを使用してユーザーを説明します。 | サッカー, フィットネス, アウトドア |
source | 文字列 | オプション | ユーザーのソース。 | カスタム | Toutiao | |
content | 文字列 | オプション | ユーザーの説明。 | カスタム | ||
register_time | 文字列 | オプション | 登録時刻。値は、秒単位で正確な UNIX タイムスタンプです。 | カスタム | 1520007038 | |
last_login_time | 文字列 | オプション | 最後のログイン時刻。値は、秒単位で正確な UNIX タイムスタンプです。 | カスタム | 1520017038 | |
last_modify_time | 文字列 | オプション | ユーザー情報が最後に変更された時刻。値は、秒単位で正確な UNIX タイムスタンプです。 | カスタム | 1520327038 | |
features | 文字列 | オプション | ユーザーの特性 (文字列)。 | カスタム | ユーザーの特性 (カスタマー ポートレートなど) はコンマ (,) で区切ります。 | |
num_features | 文字列 | オプション | ユーザーの特性 (数値)。 | カスタム | ユーザーの特性はコンマ (,) で区切ります。このフィールドのコンマ (,) の数がすべてのユーザーで同じであることを確認してください。 |
行動
フィールド名 | データ型 | 必須 | フィールドの説明 | 有効な値 | 値の説明 | 例 |
item_id | 文字列 | 必須 | アイテムの ID。 | カスタム | 値は、アイテム テーブルの item_id フィールドの値と同じである必要があります。 | 34513 |
item_type | 文字列 | 必須 | アイテムのタイプ。 | image、article、video、shortvideo、item、recipe、audio | 値は、アイテム テーブルの item_type フィールドの値と一致する必要があります。 | image |
bhv_type | 文字列 | 必須 | 行動タイプ (expose、stay、click、collect、download など)。 | expose および click | クリック エントリ数は、インプレッション エントリ数よりも少なくなければなりません。そうでない場合、システムはデータが異常であると判断する可能性があり、サービスを開始できません。 | expose |
trace_id | 文字列 | 必須 | リクエスト追跡 ID。このフィールドは、A/B テストで Alibaba レコメンデーション エンジンが使用されているかどうかを判断するために使用されます。 | Alibaba および selfhold | 1. 行動データが Alibaba レコメンデーション エンジンに基づいて生成される場合は、このフィールドを Alibaba に設定します。行動データが独自開発または独自運用されたレコメンデーション システムに基づいて生成される場合は、このフィールドを selfhold に設定します。 2. このフィールドは、分析レポートを生成し、コンソールで結果を比較するために使用されます。 | Alibaba |
trace_info | 文字列 | 必須 | リクエスト追跡情報。この情報は、AIRec での内部リンク調整に使用されます。 | カスタム | 1. trace_id フィールドが selfhold に設定されている場合は、trace_info フィールドを 1 に設定します。 2. trace_id フィールドが Alibaba に設定されている場合、trace_info はレコメンデーション結果で返されます。値 Alibaba は、行動が AIRec によって推奨されるアイテムに対して実行されることを示します。行動データをアップロードするときに、このアイテムの trace_info フィールドの値を保持できます。 | 1007.5911.12351.1002000:4ea8bc59-aa9c-11b85be7:46:recommend:5:life:::10:content___5f3b2404c115eac:article:hot_common:0.0869:0.20308921:0.69352831:159895:::::::::: |
scene_id | 文字列 | 必須 | シーンの ID。 | カスタム | 1. 行動エントリが生成されるシーンの ID。値は、行動に対応するアイテムのシーン ID のいずれかである必要があります。シーン ID は 1 つだけ指定できます。 2. 行動テーブルの scene_id フィールドの値は、アイテム テーブルの scene_id フィールドの値に含まれている必要があります。 3. シーンを区別する必要がない場合は、デフォルト値の 1 を使用します。行動のシーン ID を追跡できない場合は、このフィールドを -102 に設定します。詳細については、「シーン ID を使用する」をご参照ください。 | a101 |
bhv_time | 文字列 | オプション | 行動が発生した時刻。値は、秒単位で正確な UNIX タイムスタンプです。 | カスタム | このフィールドには、ユーザーが行動を実行した時刻を設定します。 | 1520327038 |
bhv_value | 文字列 | 必須 | 行動の詳細 (クリック数、ページ滞在時間、購入アイテム数など)。 | カスタム | 1. インプレッション、クリック、共有の場合は、このフィールドを 1 に設定します。 2. 滞在の場合は、ページ滞在時間を指定します。単位: 秒。 3. その他の行動については、テクニカルサポートにお問い合わせください。 | 500 |
user_id | 文字列 | ログイン ユーザーの場合は必須 | ユーザーの ID。 | カスタム | 1. 値は、ユーザー テーブルの値と同じである必要があります。 2. ユーザーがログインしていない場合は、このフィールドを空のままにすることができます。 | 1234567 |
platform | 文字列 | オプション | クライアント プラットフォーム。 | カスタム | ios/android/h5 | ios |
imei | 文字列 | ログインしていないユーザーの場合は必須 | Android ユーザーの場合は、このフィールドに IMEI の MD5 ハッシュ値を設定します。iOS ユーザーの場合は、このフィールドに IDFA の MD5 ハッシュ値を設定します。 | カスタム | 1. このフィールドは、登録していないユーザーの場合は必須です。 2. MAC アドレスまたはデバイス番号が無効な場合、内部カスタマー ポートレート情報を使用できません。インプレッション ブロック機能のみが保持されます。 3. 値は、32 文字の MD5 ハッシュ値である必要があります。 | e2fcdb0f4dce45e35fe2823d797333ec |
app_version | 文字列 | オプション | アプリのバージョン番号。 | カスタム | 4.1.10 | |
net_type | 文字列 | オプション | ネットワークのタイプ。 | カスタム | 2G/3G/4G/WIFI | 4G |
ip | 文字列 | オプション | クライアントの IP アドレス。 | カスタム | 234.45.13.14 | |
login | 文字列 | オプション | ユーザーがログインしているかどうかを指定します。 | 01 | 0: ユーザーはログインしていません。 1: ユーザーはログインしています。 | 1 |
report_src | 文字列 | オプション | レポートのソース。 | 12 | 1: サーバー。 2: クライアント。 | 2 |
device_model | 文字列 | オプション | デバイス モデル。 | カスタム | iphoneX | |
longitude | 文字列 | オプション | 経度。 | カスタム | 128.4 | |
latitude | 文字列 | オプション | 緯度。 | カスタム | 78.1 | |
module_id | 文字列 | オプション | モジュールの ID。 | カスタム | 114 | |
page_id | 文字列 | オプション | ページの ID。 | カスタム | 4 | |
position | 文字列 | オプション | アイテムの位置。 | カスタム | 5 | |
message_id | 文字列 | オプション | 行動エントリの一意の識別子。 | カスタム | このフィールドを設定しない場合、システムは item_id、item_type、user_id、imei、bhv_type、bhv_time フィールドを使用して、行動エントリの重複を削除します。 | 5 |
行動タイプ
bhv_type | 説明 |
expose | アイテムに対する「インプレッション」行動。行動テーブルには、インプレッション エントリが含まれている必要があります。インプレッション エントリ数は、クリック エントリ数よりも多くなければなりません。 |
click | アイテムに対する「クリック」行動。行動テーブルには、クリック エントリが含まれている必要があります。 |
like | アイテムに対する「いいね」行動。 |
unlike | アイテムに対する「よくないね」行動。 |
comment | アイテムに対する「コメント」行動。 |
collect | アイテムに対する「お気に入り」行動。 |
stay | アイテムに対する「滞在」行動。 |
share | アイテムに対する「共有」行動。 |
download | アイテムに対する「ダウンロード」行動。 |
tip | アイテムに対する「報酬」行動。 |
subscribe | アイテムに対する「フォロー」行動。 |
dislike | 否定的なフィードバックを提供する行動。詳細については、「否定的なフィードバック」をご参照ください。 |
page_next | 次のページに移動する行動。 bhv_value フィールドを 1 に設定します。 |
CREATE TABLE 文
AIRec インスタンスの起動に必要なデータを MaxCompute を使用してアップロードする場合は、次の CREATE TABLE 文を参照できます。
--- コンテンツ業界で行動テーブルを作成します。
DROP TABLE IF EXISTS behavior_table;
CREATE TABLE IF NOT EXISTS `behavior_table`
(
trace_id STRING COMMENT "リクエスト追跡 ID" // Request tracking ID
,trace_info STRING COMMENT "リクエスト追跡情報" // Request tracking information
,platform STRING COMMENT "クライアント プラットフォーム" // Client platform
,device_model STRING COMMENT "デバイス モデル" // Device model
,imei STRING COMMENT "デバイス ID" // Device ID
,app_version STRING COMMENT "アプリ バージョン番号" // App version number
,net_type STRING COMMENT "ネットワーク タイプ" // Network type
,longitude STRING COMMENT "経度" // Longitude
,latitude STRING COMMENT "緯度" // Latitude
,ip STRING COMMENT "クライアント IP アドレス" // Client IP address
,login STRING COMMENT "ユーザーがログインしているかどうか" // Whether the user has logged on
,report_src STRING COMMENT "レポートのソース" // Source of the report
,scene_id STRING COMMENT "シーン ID" // Scene ID
,user_id STRING COMMENT "ユーザー ID" // User ID
,item_id STRING COMMENT "アイテム ID" // Item ID
,item_type STRING COMMENT "アイテムのタイプ" // Type of the item
,module_id STRING COMMENT "モジュール ID" // Module ID
,page_id STRING COMMENT "ページ ID" // Page ID
,position STRING COMMENT "アイテムの位置" // Position of the item
,bhv_type STRING COMMENT "行動タイプ" // Behavior type
,bhv_value STRING COMMENT "行動の詳細" // Behavior details
,bhv_time STRING COMMENT "行動が発生した時刻" // Time at which the behavior occurs
)
PARTITIONED BY
(
ds STRING
)
LIFECYCLE 30
;
--- コンテンツ業界でユーザー テーブルを作成します。
DROP TABLE IF EXISTS user_table;
CREATE TABLE IF NOT EXISTS `user_table`
(
user_id STRING COMMENT "一意のユーザー ID" // Unique user ID
,user_id_type STRING COMMENT "ユーザーの登録タイプ" // Registration type of the user
,third_user_name STRING COMMENT "サードパーティ ユーザーの名前" // Name of the third-party user
,third_user_type STRING COMMENT "サードパーティ プラットフォームの名前" // Name of the third-party platform
,phone_md5 STRING COMMENT "ユーザーの携帯電話番号の MD5 ハッシュ値" // MD5 hash value of the mobile phone number of the user
,imei STRING COMMENT "ユーザーのデバイス ID" // Device ID of the user
,content STRING COMMENT "ユーザー コンテンツ" // User content
,gender STRING COMMENT "性別" // Gender
,age STRING COMMENT "年齢" // Age
,age_group STRING COMMENT "年齢層" // Age group
,country STRING COMMENT "国" // Country
,city STRING COMMENT "市" // City
,ip STRING COMMENT "最後のログイン IP アドレス" // Last logon IP address
,device_model STRING COMMENT "デバイス モデル" // Device model
,register_time STRING COMMENT "登録時刻" // Registration time
,last_login_time STRING COMMENT "最後のログイン時刻" // Last logon time
,last_modify_time STRING COMMENT "ユーザー情報の最終変更時刻" // Last modification time of user information
,tags STRING COMMENT "ユーザー タグ" // User tags
,source STRING COMMENT "ユーザーのソース" // Source of the user
,features STRING COMMENT "文字列である追加のユーザー特性" // Additional user characteristics, which are strings
,num_features STRING COMMENT "数値である追加のユーザー特性" // Additional user characteristics, which are numerical values
)
PARTITIONED BY
(
ds STRING
)
LIFECYCLE 30
;
--- コンテンツ業界でアイテム テーブルを作成します。
DROP TABLE IF EXISTS item_table;
CREATE TABLE IF NOT EXISTS `item_table`
(
item_id STRING COMMENT "アイテムの一意の ID" // Unique ID of the item
,item_type STRING COMMENT "アイテムのタイプ" // Type of the item
,title STRING COMMENT "アイテム タイトル" // Item title
,content STRING COMMENT "アイテムの本文部分" // Body part of the item
,pub_time STRING COMMENT "リリース時刻" // Release time
,status STRING COMMENT "アイテムを推奨できるかどうか" // Whether the item can be recommended
,expire_time STRING COMMENT "アイテムの有効期限が切れる時刻" // Time at which the item expires
,last_modify_time STRING COMMENT "アイテム情報の最終変更時刻" // Last modification time of the item information
,scene_id STRING COMMENT "シーン ID" // Scene ID
,duration STRING COMMENT "期間 (秒単位)" // Duration in seconds
,category_level STRING COMMENT "カテゴリ レベル" // Category level
,category_path STRING COMMENT "カテゴリ パス" // Category path
,tags STRING COMMENT "タグ" // Tags
,channel STRING COMMENT"チャンネル" // Channels
,organization STRING COMMENT "組織" // Organizations
,author STRING COMMENT "作成者" // Authors
,pv_cnt STRING COMMENT "インプレッション数" // Number of exposures
,click_cnt STRING COMMENT "クリック数" // Number of clicks
,like_cnt STRING COMMENT "いいね数" // Number of likes
,unlike_cnt STRING COMMENT "よくないね数" // Number of dislikes
,comment_cnt STRING COMMENT "コメント数" // Number of comments
,collect_cnt STRING COMMENT "お気に入り数" // Number of favorites
,share_cnt STRING COMMENT "共有数" // Number of shares
,download_cnt STRING COMMENT "ダウンロード数" // Number of downloads
,tip_cnt STRING COMMENT "報酬数" // Number of rewards
,subscribe_cnt STRING COMMENT "フォロー数" // Number of follows
,source_id STRING COMMENT "アイテム ソース" // Item source
,country STRING COMMENT "国" // Country
,city STRING COMMENT "市" // City
,features STRING COMMENT "追加の特性" // Additional characteristics
,num_features STRING COMMENT "数値である追加の特性" // Additional characteristics, which are numerical values
,weight STRING COMMENT "アイテムの重み、デフォルト値: 1" // Weight of the item, default value: 1
)
PARTITIONED BY
(
ds STRING
)
LIFECYCLE 30
;