Snowflake Connector for Google Analytics Aggregate Data 引入模型

本主题描述了 Snowflake Connector for Google Analytics Aggregate Data 如何从 Google Analytics Data API (https://developers.google.com/analytics/devguides/reporting/data/v1) 中获取数据,以及抽样如何影响引入的数据。

引入策略

连接器使用两种引入模式:

  • 数据的 初始加载 在配置报告后直接发生。成功完成 初始加载 后,从选择的开始日期到今天的数据都将被引入。

  • 初始加载 完成后开始数据的 持续加载。增量更新按选择的定期计划发生。

每份报告的引入是一个独立的过程。引入过程可以并行进行。

请参阅 为 Snowflake Connector for Google Analytics Aggregate Data 实例设置数据引入 以了解如何配置报告或选择 同步计划开始日期

选择间隔长度

Google Analytics Data API (https://developers.google.com/analytics/devguides/reporting/data/v1) 需要指定每个请求的日期范围(startDateendDate)。连接器在一次引入加载期间可能会发出多个请求,并根据需要调整间隔长度。默认间隔为 31 天。在以下情况下,间隔可能会自动缩短:

  • API 返回了一个错误,连接器可以通过以更短的间隔重试请求来缓解该错误。

  • API 返回了采样数据(仅当在报告配置期间选择了 避免采样 选项时)。

  • 该报告包含大量数据。在这种情况下,间隔缩短以降低在检索后续结果页面时发生 API 错误的风险。

用户无法设置间隔长度。

监控引入

引入元数据在 CONNECTOR_STATS 视图中可用。查看更多:监控 Snowflake Connector for Google Analytics Aggregate Data

SELECT * FROM PUBLIC.CONNECTOR_STATS ORDER BY COMPLETED_AT DESC;
Copy

METADATA 包含一些信息,其中包括在请求中发送到 Google Analytics Data API (https://developers.google.com/analytics/devguides/reporting/data/v1) 的请求正文。请求正文包含关于 startDateendDate 的信息。

STATUS 可能等于以下值之一:
  • COMPLETED - 成功的引入。

  • CANCELED - 间隔长度缩短,引入将使用调整后的日期范围继续进行。

  • FAILED - 引入失败,未继续进行。

备注

FAILED 引入并不一定意味着数据丢失。连接器可以通过在下一个计划报告更新期间尝试下载所有缺失的数据来从某些错误中恢复。如果后续的引入运行成功,则连接器将引入所有缺失的数据。

要接收有关失败引入运行的电子邮件通知,请设置警报。查看更多:管理 Snowflake Connector for Google Analytics Aggregate Data

关于采样

采样是从较大数据集中选择和分析数据子集以推断结果的过程。这意味着采样降低了数据质量。数据质量取决于过程中所用的样本数量。有关更多信息,请参见 Google Analytics 采样 (https://support.google.com/analytics/answer/13331292?hl=en)。

备注

默认情况下,连接器不会尝试避免采样。此设置只能在初始报告配置期间更改。

获取采样元数据

METADATA 列来自 CONNECTOR_STATS 视图,还包含采样元数据。它可以与保存在目标表中的数据连接。

使用以下语句获取有关采样数据的信息:

SELECT d.date, d.raw, d.last_update_date, cs.metadata:samplingMetadata:samplesReadCount::INTEGER as samplesReadCount, cs.metadata:samplingMetadata:samplingSpaceSize::INTEGER as samplingSpaceSize, samplesReadCount/samplingSpaceSize as ratio
FROM <destination_table> as d
LEFT JOIN <connector_stats_view> as cs
ON d.ingestion_run_id = cs.run_id
WHERE cs.metadata:samplingMetadata:samplingOccurred::BOOLEAN = true;
Copy

将占位符替换为实际值,如以下名为 REPORT_1 的报告示例所示。

SELECT d.date, d.raw, d.last_update_date, cs.metadata:samplingMetadata:samplesReadCount::INTEGER as samplesReadCount, cs.metadata:samplingMetadata:samplingSpaceSize::INTEGER as samplingSpaceSize, samplesReadCount/samplingSpaceSize as ratio
FROM google_analytics_aggregate_data_dest_db.google_analytics_aggregate_data_dest_schema.report_1__raw as d
LEFT JOIN snowflake_connector_for_google_analytics_aggregate_data.public.connector_stats as cs
ON d.ingestion_run_id = cs.run_id
WHERE cs.metadata:samplingMetadata:samplingOccurred::BOOLEAN = true;
Copy

结果包含与采样相关的以下信息。

名称

描述

samplesReadCount

在指定的日期范围内,这份采样报告中读取的事件总数。

samplingSpaceSize

在指定日期范围内,该属性的数据中可以被此报告分析的事件总数。

ratio

已分析事件的数量与可分析事件的数量之比。

Google Analytics 采样元数据文档 (https://developers.google.com/analytics/devguides/reporting/data/v1/rest/v1beta/ResponseMetaData#SamplingMetadata) 供了有关采样元数据值含义的更多信息。

备注

在升级到 1.4.0 版本之前,关于引入的元数据不包含关于采样发生的信息。只有当 samplingOccurred 标志为 False 时,才可以确定数据没有被采样。

语言: 中文