データ同期スキーマの定義

最終更新日:

Pendoデータ同期を使用すると、Pendoデータをデータレイクやデータウェアハウスに送信し、他のデータソースと組み合わせて、AIワークフロー、機械学習モデル、ビジネスインテリジェンスダッシュボードに組み込むことができます。詳細については、「Pendoのデータ同期機能の概要」をご参照ください。

この記事では、イベントデータ、アカウントと訪問者のメタデータを含む、データ同期のエクスポートで使用されるスキーマについて説明します。データ同期は、2つの配信方法をサポートしています。

  • クラウドストレージへのエクスポート。Pendoは、AvroファイルをAmazon S3、Google Cloud Storage、またはAzure Storageに配信します。
  • ウェアハウス直接同期。Pendoは、Snowflake、Databricks、BigQueryでテーブルを作成し、同期します。

論理データは配信方法間で一貫していますが、テーブル構造、識別子の大文字/小文字、物理データ型は送信先によって異なる場合があります。DatabricksとBigQueryは同じテーブルと列を共有していますが、データウェアハウス固有の型名は異なります。

宛先のスキーマ参照を使用してください。

宛先 スキーマ参照
クラウドストレージ この記事のAvroファイル列とタイプ列
Snowflake Snowflake ERDへのデータ同期
Databricks Databricks ERDへのデータ同期
Big Query BigQuery ERDへのデータ同期

すべての日付とタイムスタンプは協定世界時(UTC)です。詳細については、 「データ同期のエクスポート処理」「タイムスタンプとタイムゾーン」 をご参照ください。

タイプマッピング

この記事では、マッピングテーブルを使用してイベントデータ、データオブジェクト、フィールドタイプが各宛先にどのように対応しているかを示し、フィールドテーブルを使用してフィールド自体をAvroの用語で説明します。以下のマッピング表は、各宛先における共通の物理タイプをまとめたものです。フィールド固有の例外および宛先専用のフィールドについては、それぞれの説明および宛先のER図に記載されています。

Pendoフィールドタイプ Pendoデータマッピングのフィールドタイプ Avro Snowflake Databricks Big Query
string テキスト(string) 文字列 文字列 文字列 文字列
int 数値型(整数) 整数 NUMBER(38,0) INTまたはLONG INT64
float 数値型(小数) 小数 小数 double FLOAT64
boolean ブール値(boolean) ブール値 ブール値 ブール値 BOOL
time 日付(time) ミリ秒の論理タイプを持つLONG NUMBER(38,0) LONG INT64
リスト リスト(list) 配列 配列 JSONを含むSTRING JSONを含むSTRING
ネストされたレコード JPNデータセンターではFeedback機能は提供していません。 レコード 配列 JSONを含むSTRING JSONを含むSTRING
バリアントメタデータ値 JPNデータセンターではFeedback機能は提供していません。 VARIANT VARIANT 文字列 文字列

一部のフィールドは、これらの一般的なマッピングを上書きします。SnowflakeはdeletedAtDATEとして格納しますが、DatabricksとBigQueryではそのフィールドが利用可能な場合、整数として格納します。SnowflakeはperiodIdNUMBER(38,0)として格納し、DatabricksとBigQueryは整数として格納します。

一部のフィールドはダイレクトウェアハウスの宛先にのみ存在し、クラウドストレージに対応するものはありません。これらはフィールドテーブルでAvroタイプがn/aと表記されています。物理タイプについては宛先のERDを参照してください。

DatabricksおよびBigQueryでは、Pendoの論理メタデータ型に関係なく、正規化されたaccountmetadata.valueおよびvisitormetadata.valueフィールドはSTRINGになります。

イベント

データ同期には、Pendoが取得したすべてのイベントが含まれます。タグ付けされたページ、フィーチャー、トラックイベント、ガイドイベントは、サポートされている宛先向けの専用の一致イベントデータでも利用できます。

イベントデータ クラウドストレージ ウェアハウステーブル
すべてのイベント allevents.avro ALLEVENTS
ページイベント matchedEvents/Page/{pageId}.avro MATCHEDPAGEEVENTS
フィーチャーイベント matchedEvents/Feature/{featureId}.avro MATCHEDFEATUREEVENTS
トラックイベント matchedEvents/TrackType/{trackId}.avro MATCHEDTRACKTYPEEVENTS
ガイドイベント allevents.avroに含まれます ALLEVENTSに含まれます

以下のフィールド定義は、共有イベントモデルを説明するものです。matchableIdlastUpdatedAtは一致イベントテーブルに含まれますが、alleventsには含まれません。

フィールド名 Avroタイプ 説明
matchableId 文字列

このイベントに一致するルールを持つページ、フィーチャー、またはトラックイベントのID。すべてのイベントデータには存在しません。

Feature/{ID}

Page/{ID}

TrackType/{ID}

ID には、大文字(A~Z)、小文字(a~z)、数字(0~9)、ハイフン(-)、アンダースコア(_)が含まれます。最大文字数は500字です。

periodId DATE データウェアハウスへの読み込みを支援する便利なフィールドで、特定のイベントのbrowserTimestampの日付部分に相当します。日付はすべてUTCです。フォーマットはYYYY-MM-DDです。
visitorId 文字列

イベントを実行した訪問者。最大文字数は500文字です。

訪問者および訪問者メタデータに結合できます。

Pendoのインストール時に顧客が設定した訪問者ID。

accountId 文字列

訪問者に関連付けられているアカウント。最大文字数は500字です。

アカウントおよびアカウントメタデータに結合できます。アカウント情報が利用できない場合は、空の文字列が使用されます。

Pendoインストール時に顧客が設定したアカウントID。

analyticsSessionId 文字列 このイベントが記録されたときにアクティブだったウェブアナリティクスセッションの一意の識別子。セッションは、ブラウザで以前のセッションがアクティブでないときに開始され、30分間の非アクティブ状態が続くと終了します。ウェブアナリティクスのセッションはCookieまたはローカルストレージを使用して追跡され、同じドメイン内のブラウザタブ全体で保持されます。16桁の英数字文字列。
browserTimestamp LONG イベントのタイムスタンプ。use_avro_logical_typesフラグで日付としてデータウェアハウスに読み込むことができます。
country 文字列 remoteIpに関連付けられた国。ISO 3166-1 alpha-2の国コードを使用します。このフィールドは空白でもかまいません。
deletedAt LONG オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。
destinationStepId 文字列 フローを示すガイドの宛先ステップのIDを指定するguideAdvancedイベントに関連します。前のステップIDまたは次のステップIDにできます。singleEventsおよびguideEventsソースに表示されます。最大文字数は500字です。
elementPath 文字列 ウェブイベント用。空白か、イベントに関連するDOM要素を指定するCSSスタイルの文字列。モバイルの場合、イベントに関連するウィジェットのJSON形式の説明。最大文字数は60,000文字です。
eventClass 文字列 イベントはuiまたはtrackいずれかに分類できます。
eventId 文字列

データ同期におけるeventIdは、Pendoによって作成されたイベントの複数のフィールドをハッシュ化して生成したイベントの生データの識別子です。eventIdは、すべてのイベントデータにおいて信頼できる一意の識別子ではありません。その理由は2つあります。

  1. eventIdの一意性は特定の1時間内でのみ維持されます。
  2. ページやフィーチャーには重複するタグルールが存在する可能性があり、1つのeventIdが複数回表示されることがあります。

eventId+matchableId+browserTimestampを組み合わせることで、Pendoデータ同期のデータに対して一意のキーを作成することができます。

eventIdは64文字の16進文字列 (a–f,0–9) で、訪問者ID、イベントタイプ、URL、要素パス、元のブラウザのタイムスタンプ、タブID、デバイスID、ガイドID、または投票とアンケート調査タイトル(該当する場合)のハッシュとして作成されます。

eventSource 文字列 次のいずれかになります。web:Webページから発生したイベントの場合。mobile:モバイルアプリから発生したイベントの場合。email:メールから発生したイベントの場合。この値には小文字(a~z)のみが含まれ、最大長は9字です。
eventType 文字列

イベントのタイプ。以下のいずれかです:change(訪問者がアプリ内の要素を変更した)、click(訪問者がアプリ内の要素をクリックした)、focus(訪問者がアプリ内の要素にフォーカスした)、group(Twilio Segmentインテグレーションのgroup呼び出しに応じて送信されたイベント)、guideActivity(訪問者がPendoガイドを操作した)、guideDismissed(訪問者がPendoガイドを閉じた)、guideSeen(訪問者がPendoガイドを表示した)、identify(アプリが訪問者またはアカウントを識別した)、load(ページが読み込まれた)、meta(アプリが訪問者およびアカウントのメタデータを送信した)、pollResponse(訪問者がPendoアンケートに回答した)、track(トラックイベントが送信された)。

モバイルイベントには次のものも含まれます。

  • unload。訪問者が画面を離れました。
  • AppInForeground -訪問者がアプリに戻りました。
  • AppInBackground -訪問者がアプリを閉じずにバックグラウンドへ移動しました。
  • AppSessionStart -現在のセッションのガイドが開始されるタイミングで記録されるセッション開始イベントです。
  • AppSessionEnd -endSession()が呼び出された場合、またはアプリが長時間バックグラウンドにあった場合にセッションが終了します。

AppButtonClickedAppScreenViewedなど、その他のモバイルイベントタイプも表示される場合があります。

guideId 文字列 ガイド関連イベントや投票調査関連イベントを生成するガイドの一意の識別子。このフィールドは空白でもかまいません。最大文字数は500字です。
guideSeenReason 文字列 guideSeenイベントタイプの場合、ガイドがユーザーに表示された理由。
guideSeenTimeoutMS LONG guideTimeoutイベントの場合、guideTimeoutイベントの送信前に、特定のガイドステップが表示されるまでエージェントが待機した時間。
guideSessionId 文字列 ガイドや同時に読み込まれたその他納品物のリストの識別子。このIDは、クライアントからガイドがリクエストされるたびに変更され、読み込み中に発生するイベントは同じIDを持ちます。最大文字数は500字です。
guideSnoozeDurationMS LONG guideSnoozedイベントタイプの場合、ガイドのスヌーズ時間(ミリ秒単位)。
guideStepId 文字列 ガイド関連イベントや投票調査関連イベントを生成するガイドステップの一意の識別子。このフィールドは空白でもかまいません。最大文字数は500字です。
language 文字列 guideSeenイベントタイプの場合、表示されているガイドの言語。このフィールドは空白でもかまいません。https://datatracker.ietf.org/doc/html/bcp47 言語タグ(例: en-US)を使用します。
latitude 小数 イベントのremoteIpの緯度。PendoがremoteIpを収集していない場合、このフィールドは空白です。
lastUpdatedAt JPNデータセンターではFeedback機能は提供していません。 Snowflakeのみ。一致したイベントが最後に転送に含まれた時点を示すエポックタイムスタンプ。このフィールドは、遡及処理中を含め、一致するイベントが転送に含まれるたびに更新されます。このフィールドを使用して、新しいデータと古いデータを区別します。
longitude 小数 イベントのremoteIpの経度。PendoがremoteIpを収集していない場合、このフィールドは空白です。
loadDurationMS LONG loadイベントの場合、ウェブページのレンダリングにかかった時間(ミリ秒単位)。ページの動的部分の読み込みにかかる時間は含まれません。
oldVisitorId 文字列 Pendoが認証を通じて識別する前に、訪問者に割り当てられた匿名の訪問者 ID。
pollId 文字列 pollResponseイベントを生成した投票とアンケート調査の識別子。最大文字数は500字です。この識別子に関連する投票とアンケート調査オブジェクトは、allguides.avroファイル内のpollsリストにあり、具体的にはこのイベントのguideIdという識別子を持つガイドにあります。
pollResponse 文字列 pollResponseイベントを生成した投票調査に対するJSON形式の回答。eventTypepollResponseでない限り、空になります。投票調査でのみ利用可能なデータへのインデックスにできます。投票とアンケート調査で定義されたカスタムレスポンスのセットに対応するレスポンスの場合、pollResponseの値は、allguides.avroファイル内のレスポンスマップのインデックスです。このマップは、識別子guideId(このイベントのもの)を持つガイドと、識別子pollId(このイベントのもの)を持つ投票とアンケート調査のpollsリストにあります。最大文字数は5,000文字です。
pollType 文字列 pollResponseイベントを生成した投票調査のタイプ。NumberScalePositiveNegativeFreeFormPickListのいずれかです。
propertiesJson 文字列

イベントのすべてのユーザー定義イベントプロパティのJSON形式のマップ。イベントのセッションリプレイフラストレーションデータが利用可能になる場合、以下のキーも含まれます:

  • numRageClicks(数値):フラストレーションを示す連続したクリック数。
  • numDeadClicks(数):反応がなかったクリック数。
  • numErrorClicks(数):エラーを引き起こしたクリック数。
  • frustrationTypes(文字列の配列):このイベントで発生したフラストレーションタイプのラベル(例:rageClickdeadClickerrorClick)。
region 文字列 イベントのremoteIpに関連する米国地域。このフィールドは空白でもかまいません。州を表す2文字のコードとして提示されます。
remoteIp 文字列 イベントを生成したremoteIp。このデータを収集しない場合、代わりに0.0.0.0が保存されます。ipv6アドレスにすることもできます。一部のプロキシとモバイルネットワークでは、有用なIPアドレスは収集されません。
server 文字列 イベントのURLのサーバー名部分。このフィールドは空白でもかまいません。値はURLセーフ文字列(https://datatracker.ietf.org/doc/html/rfc3986 に準拠)であり、最大60,000字まで使用できます。
uiElementActions 文字列 エージェントによってguideActivityイベントが送信されるガイドとのインタラクションに関連付けられた要素アクション(openLinkguideSnoozedなど)。これは、singleEventsおよびguideEventsのソースに表示されます。値はURLセーフ(Base64 スタイル)でエンコードされ (https://datatracker.ietf.org/doc/html/rfc4648 に準拠)、最大60,000字まで使用できます。
uiElementId 文字列 ガイド内のUI要素がクリックされたときのガイド要素の一意の識別子。これにより、guideActivityイベントがエージェントに送信されます。これは、singleEventsguideEventsguideElementClick、およびguideElementClickEverのソースに表示されます。最大文字数は60,000字です。
uiElementText 文字列 エージェントがguideActivityイベントの一環としてフィールドを送信するときのガイド要素のテキスト。guideActivityイベントがガイド要素のテキストと共に送信されると、ui_element_textsingleEventsおよびguideEventsのソースに表示されます。ui_element_textフィールドなしでguideActivityイベントが送信された場合でも、処理は実行されます。サブスクリプションによりすべてのテキストの除外を選択した場合、イベントが同時に送信されたとしても、ui_element_textは保存されません。最大文字数は60,000字です。
uiElementType 文字列 guideActivityイベントの送信時にクリックされた要素のタイプ。これは、singleEventsおよびguideEventsのソースに表示されます。これは任意の有効なHTML要素タグ(例:button)で、最大60,000字まで指定できます。
url 文字列 ウェブイベントを生成したページの正規化されたURL。モバイルイベントの場合、URLは画面構造をJSON形式で表したものになります。
userAgent 文字列 ウェブイベントを受信した際のHTTPSリクエストのユーザーエージェント文字列。モバイルイベントの場合、これはイベントを生成したデバイスタイプのテキスト表現です。userAgent値はすべてのイベントに含まれ、集計とセグメント化に使用されます。Pendoは、サードパーティのユーザーエージェント解析ライブラリの独自のコピーを使用して、ブラウザ、OS、デバイスタイプなどの詳細を抽出します。入力された文字列がライブラリ内の既知のパターンと一致しない場合、「Unknown」として記録されます。

ページ、フィーチャー、トラックイベント、ガイドの定義

ページ、フィーチャー、トラックイベントの定義は、それぞれ独自のファイルまたはテーブルに含まれており、matchableIdを使用してイベントデータに結合できます。

次の表は、エクスポート方法に応じて各定義が表示される場所を示しています。

データオブジェクト クラウドストレージ Snowflake DatabricksとBigQuery
ページ allpages.avro ページ ページ
フィーチャー allfeatures.avro フィーチャー フィーチャー
トラックイベント alltracktypes.avro TRACKTYPES tracktypes
ガイド allguides.avro ガイド ガイド(Guides)

以下のフィールドの説明では、論理モデルを定義しています。type列には、クラウドストレージのAvroタイプが表示されます。共通の宛先マッピングにはタイプマッピングを、正確な物理タイプには宛先のERDを使用してください。deletedAtは4つのDatabricksおよびBigQueryの定義テーブルすべてに存在しますが、rulesUpdatedAtpagesfeaturestracktypesに存在します。softDeleteMethodが表示されるのは、Snowflakeのみです。

ページ

フィールド名 Avroタイプ 説明
pageId 文字列 ページの識別子。最大文字数は500字です。
kind 文字列 オブジェクトの種類の説明。常にPageになります。
name 文字列 ページに付けられた名前。最大文字数は1500字です。
lastUpdatedAt LONG ページが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。
isCoreEvent ブール値 イベントがPendo Coreイベントかどうか。
deletedAt LONG オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。
rulesUpdatedAt JPNデータセンターではFeedback機能は提供していません。 Snowflakeのみ。ページのルールが更新された時点を示すエポックタイムスタンプ。
softDeleteMethod JPNデータセンターではFeedback機能は提供していません。 Snowflakeのみ。どのソフト削除方法が適用されるかを示します(1 = オリジナル、2 = 新しいタイムスタンプの比較)。
rulesJson 文字列 このフィールドはPendoクラシック(レガシー)デザイナーのみが使用し、ほとんどのページでは空になることが予想されます。UTF-8形式のJSON文字列です。

フィーチャー

フィールド名 Avroタイプ 説明
featureId 文字列 フィーチャーの識別子(サブスクリプションごとに一意)。最大文字数は500字です。
kind 文字列 オブジェクトの種類の説明。常にFeatureになります。
name 文字列 フィーチャーに付けられた名前。
lastUpdatedAt LONG フィーチャーが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。
isCoreEvent ブール値 イベントがPendo Coreイベントかどうか。
deletedAt LONG オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。
rulesUpdatedAt JPNデータセンターではFeedback機能は提供していません。 Snowflakeのみ。フィーチャーのルールが更新された時点のエポックタイムスタンプ。
softDeleteMethod JPNデータセンターではFeedback機能は提供していません。 Snowflakeのみ。どのソフト削除方法が適用されるかを示します(1 = オリジナル、2 = 新しいタイムスタンプの比較)。

トラックイベント

フィールド名 Avroタイプ 説明
trackTypeId 文字列 トラックイベントの識別子(サブスクリプションごとに一意)。最大文字数は500字です。
kind 文字列 オブジェクトの種類の説明。常にTrackTypeになります。
name 文字列 トラックイベントに付けられた名前。
trackTypeName 文字列 トラックイベントの表示名。
lastUpdatedAt LONG トラックイベントが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。
isCoreEvent ブール値 イベントがPendo Coreイベントかどうか。
trackTypeRules 文字列 トラックイベントを定義するために使用されるルールのリスト。
eventPropertyNames 文字列 含まれているトラックイベントプロパティの名前。
deletedAt LONG オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。
rulesUpdatedAt JPNデータセンターではFeedback機能は提供していません。 Snowflakeのみ。トラックイベントのルールが更新された時点のタイムスタンプ。この値はトラックイベントが作成されたときに設定され、その後は更新されません。
softDeleteMethod JPNデータセンターではFeedback機能は提供していません。 Snowflakeのみ。どのソフト削除方法が適用されるかを示します(1 = オリジナル、2 = 新しいタイムスタンプの比較)。

ガイド

フィールド名 Avroタイプ 説明
guideId 文字列 ガイドの識別子(サブスクリプションごとに一意)。最大文字数は500字です。
kind 文字列 オブジェクトの種類の説明。常にGuideになります。
lastUpdatedAt LONG ガイドが最後に更新されたときのエポックタイムスタンプ(ミリ秒単位)。
createdAt LONG ガイドが作成されたときのエポックタイムスタンプ(ミリ秒単位)。
state 文字列 ガイドの可視性の状態(draftstagedpublicdisabled)。
name 文字列 ガイドに付けられた名前。
emailState 文字列 NPSのメールバックアップの状態(無効の場合はdraft、有効の場合はpublic)。
launchMethod 文字列 ハイフンで区切られた、ガイドに適用される起動方法のセット。
isMultiStep ブール値 ガイドに複数のステップがあるかどうか。
isTraining ブール値 ガイドが「Adopt for Partners」のエンドユーザーアプリケーションに属するかどうか。
recurrence LONG NPSガイドの反復期間(ミリ秒単位)。
recurrenceEligibilityWindow LONG 均等配信が有効になっている場合に、個々の訪問者がNPSガイドの対象となる時間(ミリ秒単位)。
attributeJson 文字列 ガイドのタイプ、バッジの説明、ガイドが有効になるデバイスのタイプ、最後にガイドを編集したビジュアルデザインスタジオ(Visual Design Studio)のバージョンなどを含む、ガイド属性のJSON表現。
audience 文字列 ガイドがターゲットとする訪問者を定義するロジック。
audienceUiHint 文字列 ガイドに適用されたセグメントを人間が判読できる形式で表したもの。
resetAt LONG ガイドが最後にリセットされたときのタイムスタンプ。
publishedAt LONG ガイドが最後に公開されたときのタイムスタンプ。
steps レコード

次の値を含むガイドステップ:

  • guideStepId(STRING)
  • name(STRING)
  • pageId(STRING)
  • appReplayUrl(STRING)
  • elements(STRING)
  • pollIds(STRING値のARRAY)
アンケート調査 レコード

次の値を含む投票とアンケート調査の質問:

  • pollId(STRING)
  • question(STRING)
  • numericResponses(INT値のARRAY)
  • idResponses (STRING値のMAP)
  • resetAt(LONG、ミリ秒単位のエポックタイムスタンプ)
deletedAt LONG オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。

アカウントと訪問者

アカウントと訪問者の定義は、エクスポート方法に応じて、メインオブジェクトテーブルと補足メタデータファイルまたはテーブルの両方に表示されます。以下の表は、各タイプのデータが表示される場所を示しています。

データ クラウドストレージ Snowflake DatabricksとBigQuery
アカウント accounts.avro アカウント アカウント
アカウントメタデータ値 accounts.avro内の動的列 ACCOUNTMETADATA accountmetadata
アカウントメタデータスキーマ accountmetadata.avro ACCOUNTMETADATAに含まれます accountmetadataschema
訪問者 visitors.avro 訪問者 訪問者
訪問者のメタデータ値 visitors.avro内の動的列 VISITORMETADATA visitormetadata
訪問者メタデータスキーマ visitormetadata.avro VISITORMETADATAに含まれます visitormetadataschema

以下のフィールド説明では、論理フィールドを定義し、そのクラウドストレージのAvroタイプを示します。一般的な送信先マッピングにはタイプマッピングを使用し、正確な物理タイプについては送信先のERDを使用してください。DatabricksおよびBigQueryでは、メタデータ値はベースのaccountsテーブルおよびvisitorsテーブルの動的フィールドではありません。これらは個別のメタデータテーブルに保存されます。

アカウント

フィールド名 Avroタイプ 説明
id 文字列 アカウントの一意の識別子。最大文字数は500字です。
auto.id 文字列 idと同じ一意の識別子。Snowflakeエクスポートのスキーマ正規化のために含まれます。最大文字数は500字です。
deletedAt LONG オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。
firstvisitMS LONG アカウントに対してイベントが最初にキャプチャされた時刻のタイムスタンプ(ミリ秒単位)。
idhash 整数 アカウントIDのハッシュ。
lastvisitMS LONG アカウントに対してイベントが最後にキャプチャされた時刻のタイムスタンプ(ミリ秒単位)。
lastupdatedMS LONG アカウントが最後に更新された時刻のタイムスタンプ(ミリ秒単位)。
VARIANT このメタデータフィールドに関連付けられた値。形式とタイプは、メタデータスキーマ内のフィールドの定義によって異なります。
<fieldname>_<APP_ID> 場合により異なる 複数アプリケーションのサブスクリプションの場合、Pendoは<fieldname>_<APP_ID>の値を、アプリケーションによって異なる可能性のある上記のフィールドに対して送信します。これが可能なメタデータフィールドには、メタデータスキーマファイルでisPerApptrueに設定されています(以下を参照)。
agent_<fieldname> 場合により異なる すべてのエージェントメタデータフィールドに対して、アカウントのavroファイルにagent_<fieldname>という名前のフィールドが作成されます。Pendoメタデータのフィールドタイプとavroタイプのマッピングについては、以下をご覧ください。
<metadata_group> 文字列 エージェント以外のメタデータグループに対しては、そのメタデータグループとすべてのフィールドのJSON表現を送信します。メタデータスキーマファイルには、メタデータグループの各フィールドの名前、タイプ、その他の情報が含まれます。
incompleteFields STRINGのリスト メタデータスキーマで指定されたタイプと互換性のない値を持つメタデータフィールドのリスト。

訪問者

フィールド名 Avroタイプ 説明
id 文字列 訪問者の一意の識別子。最大文字数は500字です。
accountids 配列 訪問者に割り当てられた一意のアカウントID(STRING値)のリスト。各アカウントの最大文字数制限は500字です。
accountId 文字列 訪問者が最後に関連付けられたアカウントID。最大文字数は500字です。
deletedAt LONG オブジェクトが削除された日付。オブジェクトが削除されていない場合は空になります。
firstvisitMS LONG イベントが訪問者に対して最初にキャプチャされたときのタイムスタンプ(ミリ秒単位)
idhash 整数 訪問者IDのハッシュ。
lastbrowsername 文字列 最後に使用したブラウザ名。この値には大文字(A~Z)または小文字(a~z)のみが含まれ、最大長は13字です。
lastbrowserversion 文字列 最後に使用したブラウザのバージョン。最大文字数は5,000字です。
lastoperatingsystem 文字列 最後に使用したオペレーティングシステム。最大文字数は5,000字です。
lastservername 文字列 最後に使用したサーバー名。最大文字数は60,000字です。
lastvisitMS LONG 訪問者に対してイベントが最後に記録された時刻のタイムスタンプ(ミリ秒単位)。
lastupdatedMS LONG 訪問者が最後に更新された時刻のタイムスタンプ(ミリ秒単位)。
lastuseragent 文字列 最後に使用したユーザーエージェント(未解析)。最大文字数は512字です。
lastvisitorid 文字列 最新の訪問者ID。最大文字数は500字です。
identifiedvisitoratMS LONG Pendoアイデンティティマッピングによって匿名の訪問者IDと識別済みの訪問者IDが統合された際に、訪問者が特定された時刻のタイムスタンプ(ミリ秒単位)が表示されるフィールドです。
identifiedvisitorid 文字列 PendoのIDマッピングによって匿名訪問者IDが識別済みの訪問者と統合された場合、このフィールドは識別済みの訪問者IDで更新されます。識別された訪問者 ID を利用することで、ユーザージャーニーを一元的に把握できます。最大文字数は500文字です。
VARIANT このメタデータフィールドに関連付けられた値。形式とタイプは、メタデータスキーマ内のフィールドの定義によって異なります。
<fieldname>_<APP_ID> 場合により異なる 複数アプリケーションのサブスクリプションの場合、Pendoは<fieldname>_<APP_ID>の値を、アプリケーションによって異なる可能性のある上記のフィールドに対して送信します。これが可能なメタデータフィールドには、メタデータスキーマファイルでisPerApptrueに設定されています(以下を参照)。
agent_<fieldname> 場合により異なる すべてのエージェントメタデータフィールドに対して、訪問者のavroファイルにagent_<fieldname>というフィールドが作成されます。Pendoメタデータのフィールドタイプとavroタイプのマッピングについては、以下をご覧ください。
<metadata_group> 文字列 エージェント以外のメタデータグループに対しては、そのメタデータグループとすべてのフィールドのJSON表現を送信します。メタデータスキーマファイルには、メタデータグループの各フィールドの名前、タイプ、その他の情報が含まれます。
incompleteFields STRINGのリスト メタデータスキーマで指定されたタイプと互換性のない値を持つメタデータフィールドのリスト。

DatabricksとBigQueryのデータウェアハウススキーマ

DatabricksとBigQueryは、同じデータ同期のテーブルおよび列モデルを使用します。各ウェアハウスは独自の規則に従って識別子と物理型名を表示するため、クエリやモデルを構築する際は、対象の宛先のERDを使用してください。

スキーマには以下のテーブルグループが含まれています。

  • ビジネスオブジェクトの定義:pagesfeaturestracktypesguides
  • イベント:alleventsmatchedpageeventsmatchedfeatureeventsmatchedtracktypeeventsmatchedguideevents
  • アカウントと訪問者:accountsaccountmetadataaccountmetadataschemavisitorsvisitormetadatavisitormetadataschema
  • ガイドの効果測定:guideexperimentsguideexperimentvariantsmatchedguideexperimentassignments。これらのテーブルは現在、DatabricksおよびBigQueryでのみ利用可能です。

_transfer_statusテーブルは宛先スキーマにも存在します。そのフィールドについては宛先ERDをご覧ください。

DatabricksとBigQueryは、このスキーマに対する主キー制約または外部キー制約を適用しません。ERDに示されている関係は論理結合です。

宛先ネイティブのデータ型を含む、物理テーブルおよびフィールドの完全な一覧については、Databricks ERDまたはBigQuery ERDを参照してください。

メタデータ

アカウントと訪問者のメタデータは、配信方法によって異なる形式で表されます。クラウドストレージでは、エンティティファイルに値を埋め込み、フィールド定義を別途送信します。Snowflakeでは、エンティティ値とフィールド定義を正規化されたメタデータテーブルに格納します。DatabricksとBigQueryでは、アカウントと訪問者用に、正規化された値テーブルとスキーマテーブルを別々に使用します。

クラウドストレージ

各エクスポートでは、2種類のファイルが生成されます。

  • エンティティファイルaccounts.avroおよびvisitors.avro)。各エンティティにつき1行。メタデータ値は動的列として埋め込まれています。エージェントのメタデータグループフィールドは agent_<fieldname>として表示され、他のグループ(例えばカスタムやSalesforce)はグループ名を冠した単一のJSONエンコードされた文字列列として表示されます。

  • メタデータスキーマファイルaccountmetadata.avroおよびvisitormetadata.avro)。各メタデータフィールド定義につき1行。これらのファイルはエンティティIDやエンティティごとの値を含みません。avroFieldNameフィールドを使ってエンティティファイルの列名をメタデータ定義にマッピングします。

Snowflake

データ同期は、一般的なクラウドストレージメタデータスキーマファイルとは異なるSnowflake固有の内部ファイル形式を生成します。このフォーマットはlong形式(正規化済み)です。エンティティIDとエンティティごとの値の両方を含む、エンティティとメタデータフィールドごとに1行ずつあります。

ACCOUNTMETADATAVISITORMETADATAテーブルは、このSnowflakeフォーマットに基づいて構築されています。これらは、クラウドストレージのaccountmetadata.avroファイルとvisitormetadata.avroファイルの直接のコピーではありません。

注:SnowflakeストアドプロシージャACCOUNTMETADATA_LOAD_AND_MERGEおよびVISITORMETADATA_LOAD_AND_MERGEは、AccountIDおよびVisitorIDを参照していますが、これはaccountmetadata.avrovisitormetadata.avroからではなく、このSnowflake固有のロングフォーマットファイルからロードするためです。

DatabricksとBigQuery

DatabricksとBigQueryは、アカウント、訪問者、およびそのメタデータのために6つのテーブルを使用します。

  • accountsvisitorsには、基本エンティティのレコードが含まれます。
  • accountmetadatavisitormetadataには、エンティティごとのメタデータ値が含まれます。
  • accountmetadataschemavisitormetadataschemaには、メタデータフィールドの定義が含まれます。

このモデルでは、メタデータ値とスキーマ定義が分離されています。正確なフィールドとデータウェアハウス固有のタイプについては、宛先のERDを参照してください。

メタデータスキーマフィールド

次の表では、メタデータ値とスキーマ定義の論理フィールドについて説明し、クラウドストレージのAvroタイプを示します。特定の配信モデルに固有のフィールドは、その説明に明記されています。一般的な送信先マッピングにはタイプマッピングを使用し、正確な物理タイプについては送信先のERDを使用してください。

クラウドストレージのメタデータスキーマファイル(accountmetadata.avroおよびvisitormetadata.avro)には、フィールド定義のみが含まれ、エンティティIDおよびエンティティごとの値は含まれません。avroFieldName列は、各フィールド定義をaccounts.avroまたはvisitors.avro内の対応する列にリンクします。SnowflakeのACCOUNTMETADATAテーブルとVISITORMETADATAテーブルには、代わりにエンティティIDと値が直接含まれ、エンティティとフィールドの組み合わせごとに1行となります。

フィールド名 Avroタイプ 説明
accountIdまたはvisitorId JPNデータセンターではFeedback機能は提供していません。 エンティティ識別子。Snowflakeのみ。accountmetadata.avroまたはvisitormetadata.avroに存在しません。
avroFieldName 文字列 クラウドストレージのみ。Avroエンティティファイル(accounts.avroまたはvisitors.avro)内のフィールド名。このフィールドを使用して、メタデータ定義をエンティティファイル内の対応する列にマッピングします。最大文字数は5,002文字です。このフィールドはSnowflakeのACCOUNTMETADATAまたはVISITORMETADATAテーブルに存在しません。
name 文字列 Pendoのメタデータフィールド名。最大文字数は5000字です。
グループ 文字列 Pendoのメタデータフィールドのグループ名。最大文字数制限は5,000文字です。このフィールドは、SnowflakeテーブルではmetadataGroupという名前になります。
displayName 文字列 Pendoのメタデータフィールドの表示名。最大文字数は5000字です。
type 文字列 フィールドのデータ型。stringintfloatbooleantimelistなどをオプションとして選択できます。
elementType 文字列 typelistの場合、各要素のデータ型。該当しない場合は空白になります。この値には小文字(a-z)のみが含まれ、最大長は7文字です。
elementformat 文字列 メタデータフィールドのデータ形式。例えば、typetimeの場合、elementFormatmillisecondsなどになります。該当しない場合は空白になります。最大文字数は40字です。
isDeleted ブール値 フィールドが削除済みの場合はtrue。
isPerApp ブール値 フィールドが各アプリケーションに存在できる場合はtrue(複数アプリケーションのサブスクリプションのみ可能です)。
JPNデータセンターではFeedback機能は提供していません。 エンティティごとのメタデータ値。Snowflakeのみ。クラウドストレージの場合、エンティティごとの値はaccounts.avroまたはvisitors.avroに動的列として保存されます(エージェントグループフィールドはagent_<fieldname>、その他のグループはグループ名が付けられたJSONエンコード文字列列)。
この記事は役に立ちましたか?
5人中3人がこの記事が役に立ったと言っています