为 Snowflake Connector for Google Analytics Raw Data 设置数据引入¶
使用 Snowflake Connector for Google Analytics Raw Data 需遵守 连接器条款。
本主题介绍如何在 Snowflake 账户中访问 Snowflake Connector for Google Analytics Raw Data。
备注
一次只能从一个 GCP 项目中引入任何单个属性。目前,为以前配置的属性更改项目需要重新安装连接器。未来将取消此限制。
如果您更改属性的导出设置,然后开始将其导出到其他 GCP 项目,则还应手动移动先前 BigQuery 实例中的数据,并将其合并到新配置的实例中。
使用 Snowsight 设置数据引入¶
要使用 Snowsight 设置数据引入,请执行以下步骤:
以具有 ACCOUNTADMIN 角色的用户身份登录 Snowsight。
在导航菜单中,选择 Data Products » Apps。
搜索 Snowflake Connector for Google Analytics Raw Data,然后选择连接器的磁贴。
在 Snowflake Connector for Google Analytics Raw Data 的页面中,导航到 Data Sync 部分。
此部分将显示所有 Google Analytics 属性的列表。
选择要引入的属性:
搜索要引入的属性。
选中要选择的属性旁边的 Status 列中的复选框。
对要引入 Snowflake 的每个属性重复这些步骤。
选择 Status 列的标题,以查看您当前已选择的属性。
选择 Start sync 可开始将数据引入 Snowflake 账户。
所选属性显示在属性列表中。
Data Ingestion 状态将显示在 Manage data synchronization 部分的右上角。
每项属性的数据同步将产生两个负载:
初始加载会引入历史数据。从当前日期开始向后运行,直到获得可获取数据的第一天为止。
当前负载,从当前日期引入数据并向前运行。
如果您只想同步当前数据,则可以通过工作表这样做。
使用 Snowsight 启用属性将导致连接器尝试引入所有可能的导出类型。如果您只想引入特定的导出类型,例如,如果在 BigQuery 中只有 events_
表,则可以通过使用 SQL 语句来实现。
备注
一旦启用了 带有 初始负载的属性,就可以禁用初始负载。另一方面,当属性在 没有 初始加载的情况下启用时,之后无法再启用初始加载。
使用 Snowsight 修改数据引入¶
若要修改要引入的 Google Analytics 表或表的同步计划,请执行以下步骤:
以具有 ACCOUNTADMIN 角色的用户身份登录 Snowsight。
在导航菜单中,选择 Data Products » Apps。
搜索 Snowflake Connector for Google Analytics Raw Data,然后选择连接器的磁贴。
在 Snowflake Connector for Google Analytics Raw Data 的页面中,导航到 Data Sync 部分。
选择 Edit properties。
修改要引入的表:
搜索要引入的表。
在要选择或取消选择的表旁边,选中 Status 列中的复选框。
选择 Update data sync。
使用 SQL 语句设置数据引入¶
要使用 SQL 语句设置数据引入,请执行以下操作:
备注
要配置这些设置,请使用在用作连接器安装数据库实例的数据库的 PUBLIC 架构中定义的存储过程。
在调用这些存储过程之前,选择该数据库作为会话使用的数据库。
例如,如果该数据库名为 snowflake_connector_for_google_analytics_raw_data
,请运行以下命令:
USE DATABASE snowflake_connector_for_google_analytics_raw_data;
列出可供引入的属性¶
要列出给定 GCP 项目中的所有可用属性,请调用以下存储过程:
CALL LIST_GA_PROPERTIES();
结果显示了所有可供授权账户引入的项目和属性。如果未返回任何结果,请检查:
是否已配置从 Google Analytics 到 BigQuery 的数据导出。
导出的数据在 BigQuery 中是否可见。
是否向使用的服务账户/经过身份验证的用户分配了适当的角色。
请注意,从设置数据导出到将数据存储在 BigQuery 中最多可能需要 24 小时。此延迟可能是 LIST_GA_PROPERTIES
过程没有产生任何结果的原因。
关闭 Google Analytics 导出并不意味着该属性已被 LIST_GA_PROPERTIES
忽略。即使导出已关闭,数据仍然可以保留在 BigQuery 中,并可由连接器同步。
准备目标数据库¶
在启用引入之前,您需要向连接器授予在目标数据库和架构内创建表和视图的权限。
GRANT USAGE ON DATABASE <destination database> TO APPLICATION <application name>; GRANT USAGE ON SCHEMA <destination database>.<destination schema> TO APPLICATION <application name>; GRANT CREATE TABLE ON SCHEMA <destination database>.<destination schema> TO APPLICATION <application name>; GRANT CREATE VIEW ON SCHEMA <destination database>.<destination schema> TO APPLICATION <application name>;
启用或禁用属性的引入¶
要在 Google Analytics 中启用或禁用特定属性的数据同步,请使用以下实参调用 ENABLE_PROPERTIES
存储过程:
CALL ENABLE_PROPERTIES('<gcp_project>', ['<properties_to_configure>'], <enable_initial_load>, <exclude_nulls>, <disable_auto_reloads>, <enabled_export_types>);
其中:
gcp_project
指定已启用属性的 GCP 项目。
properties_to_configure
使用单引号指定以逗号分隔的 Google Analytics 属性名称列表。
使用不带
analytics_
前缀的属性名称。enable_initial_load
一个布尔值,表示是启用还是禁用初始数据加载,该加载会引入属性的所有历史数据,然后继续进行当前同步。
这是可选的实参,其默认值为
true
。当一个属性之前被启用时,此标记将被忽略,数据引入将从属性被禁用时停止的点继续。
exclude_nulls
可选的布尔值,用于指示是否从引入的数据中排除包含空值的字段。将此参数设置为
true
可以提高数据引入的吞吐量。默认值为false
。disable_auto_reloads
可选的布尔值,用于指示是否禁用自动重新加载。有关自动重载的更多详细信息,请参见 Snowflake Connector for Google Analytics Raw Data 的数据引入模型。将此值设置为
true
可以减少信用消耗,但延迟数据将不会被引入到 Snowflake。默认值为false
。enabled_export_types
可选的导出类型列表,连接器将尝试从中引入数据。可能的值是
DAILY
、INTRADAY
、USERS
和PSEUDONYMOUS_USERS
。默认情况下,所有导出类型将被启用。
例如,要启用项目 gcp_example_project
中名称为 property1
、property2
和 property3
的属性的同步,请运行以下查询:
CALL ENABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3']);
要启用属性而无需初始数据加载,请使用与下列情况类似的 ENABLE_PROPERTIES 查询:
CALL ENABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3'], false);
如果 BigQuery 中只有每日和用户数据,您可以通过运行以下查询明确省略日中导出:
CALL ENABLE_PROPERTIES(PROJECT_ID => 'gcp_example_project', PROPERTY_IDS => ['property1'], ENABLED_EXPORT_TYPES => ['DAILY', 'USERS', 'PSEUDONYMOUS_USERS']);
您可以使用命名参数来指定特定参数,并保持其余部分不变。例如,要启用初始加载的属性并排除包含空值的字段,请运行以下查询:
CALL ENABLE_PROPERTIES( PROJECT_ID => 'gcp_example_project', PROPERTY_IDS => ['property1', 'property2', 'property3'], INITIAL_LOAD => TRUE, EXCLUDE_NULLS => TRUE );
要阻止引入这些属性,请运行以下命令:
CALL DISABLE_PROPERTIES('gcp_example_project', ['property1','property2','property3']);
禁用该属性会停止其同步。禁用属性同步后,已启动但尚未完成的整个引入将从目标数据库中移除。
ENABLE_PROPERTIES
过程将指定的属性名称添加到 ENABLED_PROPERTIES
视图中。
初始加载¶
在启用新属性后,连接器开始并行引入在 BigQuery 中找到的所有历史数据,以便与负责收集新事件的当前同步一起进行。初始加载向后运行,从当前日期开始,直到达到可用数据的第一天。
重新加载已引入的数据¶
要重新加载已经引入的数据,或者加载完全没有引入的数据(例如,因为您启用了没有初始加载的属性,或者数据在 BigQuery 中缺失而现在可用),您可以调用以下程序之一:
CALL RELOAD_PROPERTY('<property id>');此过程触发给定属性的所有数据(
DAILY
、INTRADAY
、USERS
和PSEUDONYMOUS_USERS
)的重新加载,介于它可以在 BigQuery 中找到的最早表和连接器之间最后引入的(或终止标记为DATA_NOT_FOUND
)表日期之间。CALL RELOAD_PROPERTY('<property id>', <first date>, <last date>);触发给定属性的所有数据(
DAILY
、INTRADAY
、USERS
和PSEUDONYMOUS_USERS
)的重新加载,在提供的日期之间。CALL RELOAD_PROPERTY('<property id>', '<export type>', <first date>, <last date>);触发给定属性在提供日期之间的
DAILY
、INTRADAY
、USERS
或PSEUDONYMOUS_USERS
数据的重新加载。
备注
重新加载与主加载并行处理。
您可以根据需要触发任意数量的属性重新加载,前提是日期范围不重叠。
从 BigQuery 下载每个表格后,数据会被交换。
仅当特定日期的 BigQuery 中有数据时,才会重新加载交换数据。
可以通过专用视图观察到持续的重新加载:
SELECT * FROM PUBLIC.ONOGOING_RELOADS;
要取消正在进行的重新加载,请执行以下查询:
CALL CANCEL_RELOAD_PROPERTY('<load id>');