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;
Copy

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

raw

VARIANT

Os dados para o registro na forma bruta.

run_id

VARIANT

O ID do processo assíncrono que ingeriu os dados.

source_table_date

DATE

O nome da tabela diária da qual o conector ingeriu os dados para a tabela.

ingestion_complete

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             |
+---------------------------+--------------------------------------+--------------------+--------------------+
Copy

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                     |
+------------+--------------------------+-------------------+--------------------------+
Copy