Acesso aos dados ingeridos por Snowflake Connector for Google Analytics Raw Data¶
Este tópico descreve como acessar dados brutos no Google Analytics a partir de sua conta Snowflake.
Neste tópico:
Para cada propriedade no BigQuery configurada para sincronização, o Snowflake Connector for Google Analytics Raw Data cria:
A tabela
ANALYTICS_propertyId
com o mesmo nome do nome da propriedade. Esta tabela contém os dados diários brutos. Cada registro na tabela é armazenado em uma linha separada e os dados de eventos do Google Analytics são salvos em uma única coluna do tipo VARIANT.A exibição
ANALYTICS_propertyId__VIEW
que mapeia os dados do evento da tabela acima em colunas separadas.A tabela
ANALYTICS_INTRADAY_propertyId
com o mesmo nome do nome da propriedade. Esta tabela contém os dados intradiários brutos.A exibição
ANALYTICS_INTRADAY_propertyId__VIEW
que mapeia os dados de eventos intradiários da tabela acima em colunas separadas.
O proprietário temporário das tabelas e exibições acima é Snowflake Connector for Google Analytics Raw Data. A propriedade deve ser transferida durante a desinstalação do conector. Para obter detalhes, consulte Desinstalação e reinstalação do Snowflake Connector for Google Analytics Raw Data.
As seções seguintes explicam como conceder os privilégios de acesso a esses dados e como acessar os dados dessas tabelas e exibições.
Concessão de privilégios para acessar os dados do Google Analytics no Snowflake¶
Depois que Snowflake Connector for Google Analytics Raw Data sincronizar os dados com o Snowflake, você poderá usar data_owner_role
para acessar os dados ou qualquer outra função se atender a ambas as condições a seguir:
Ter o privilégio USAGE no banco de dados e esquema que contém os dados ingeridos pelo Snowflake Connector for Google Analytics Raw Data.
É concedido com a função de aplicativo DATA_READER, que tem privilégio SELECT em tabelas ou exibições neste esquema.
Por exemplo, se você tiver configurado o Snowflake Connector for Google Analytics Raw Data para armazenar os dados no banco de dados dest_db
e esquema dest_schema
, você pode criar uma função google_analytics_raw_data_reader_role
e conceder os privilégios de acesso aos dados para essa função.
O exemplo a seguir mostra como conceder esses privilégios:
CREATE ROLE google_analytics_raw_data_reader_role; GRANT USAGE ON DATABASE dest_db TO ROLE google_analytics_raw_data_reader_role; GRANT USAGE ON SCHEMA dest_db.dest_schema TO ROLE google_analytics_raw_data_reader_role; GRANT APPLICATION ROLE SNOWFLAKE_CONNECTOR_FOR_GOOGLE_ANALYTICS_RAW_DATA.DATA_READER TO ROLE google_analytics_raw_data_reader_role;
Acesso aos dados brutos¶
Para cada tabela do BigQuery que você sincroniza, o Snowflake Connector for Google Analytics Raw Data cria uma nova tabela com o mesmo nome no banco de dados Snowflake e esquema usados para armazenar o Snowflake Connector for Google Analytics Raw Data.
Por exemplo, se você tiver configurado o conector para armazenar os dados no banco de dados dest_db
e esquema dest_schema
e acessar os dados pela função my_role
, e se você tiver configurado o conector para sincronizar a tabela analytics_12345
no BigQuery, o conector criará a tabela chamada dest_db.dest_schema.analytics_12345
.
Esta tabela contém dados brutos ingeridos do BigQuery. A tabela contém as seguintes colunas:
Nome da coluna |
Tipo de dados |
Descrição |
---|---|---|
|
VARIANT |
Os dados para o registro na forma bruta. |
|
VARIANT |
O ID do processo assíncrono que ingeriu os dados. |
|
DATE |
O nome da tabela diária da qual o conector ingeriu os dados para a tabela. |
|
BOOLEAN |
Verdadeiro se o conector ingeriu todos os dados da tabela diária, falso se alguns dados ainda estiverem sendo baixados. |
O seguinte é um exemplo da saída para uma instrução SELECT que recupera os dados para a tabela dest_db.dest_schema.analytics_12345
:
SELECT * FROM DEST_DB.DEST_SCHEMA.ANALYTICS_12345 LIMIT 5; +---------------------------+--------------------------------------+--------------------+--------------------+ | RAW | RUN_ID | SOURCE_TABLE_DATE | INGESTION_COMPLETE | +---------------------------+--------------------------------------+--------------------+--------------------+ | { "app_info": null, ... } | f8edbf0e-1d0d-4ff5-9e5c-0e114b1fc44a | 2023-06-13 | TRUE | | { "app_info": null, ... } | f8edbf0e-1d0d-4ff5-9e5c-0e114b1fc44a | 2023-06-13 | TRUE | | { "app_info": null, ... } | f8edbf0e-1d0d-4ff5-9e5c-0e114b1fc44a | 2023-06-13 | TRUE | | { "app_info": null, ... } | d949ab70-6a7e-47a5-b876-d7e33d701b0d | 2023-06-14 | FALSE | | { "app_info": null, ... } | d949ab70-6a7e-47a5-b876-d7e33d701b0d | 2023-06-14 | FALSE | +---------------------------+--------------------------------------+--------------------+--------------------+
Acesso aos dados nivelados¶
Para cada tabela que contém dados, o conector cria duas exibições niveladas sobre os dados brutos. O nome da exibição é o nome da tabela com o sufixo __view
. Por exemplo, para a tabela chamada analytics_12345
, o conector cria a exibição dest_db.dest_schema.analytics_12345__view
.
Nota
Não há exibições para linhas onde ingestion_complete
é FALSE
.
O seguinte é um exemplo da saída para uma instrução SELECT que recupera os dados da exibição dest_db.dest_schema.analytics_12345__view
. Neste exemplo, a tabela analytics_12345
tem a coluna VARIANT
raw
com valores denominados EVENT_DATE
, EVENT_TIMESTAMP
, EVENT_NAME
e EVENT_PREVIOUS_TIMESTAMP
.
USE ROLE MY_ROLE; SELECT EVENT_DATE, EVENT_TIMESTAMP, EVENT_NAME, EVENT_PREVIOUS_TIMESTAMP FROM DEST_DB.DEST_SCHEMA.ANALYTICS_12345__VIEW LIMIT 5; +------------+--------------------------+-------------------+--------------------------+ | EVENT_DATE | EVENT_TIMESTAMP | EVENT_NAME | EVENT_PREVIOUS_TIMESTAMP | +------------+--------------------------+-------------------+--------------------------+ | 2023-06-13 | 2023-06-13 18:27:20.775 | "page_view" | null | | 2023-06-13 | 2023-06-13 18:27:25.960 | "user_engagement" | null | | 2023-06-13 | 2023-06-13 19:26:49.130 | "scroll" | null | | 2023-06-13 | 2023-06-13 18:27:51.135 | "page_view" | null | | 2023-06-13 | 2023-06-13 18:27:56.343 | "user_engagement" | null | +------------+--------------------------+-------------------+--------------------------+