Modelo de ingestão de dados para o Snowflake Connector for Google Analytics Raw Data

O Snowflake Conector para o Google Analytics Raw Data está sujeito aos Termos do conector.

Este tópico fornece informações sobre os modelos de ingestão de dados compatíveis com Snowflake Connector for Google Analytics Raw Data.

Google Analytics para exportação de BigQuery

O Google Analytics é compatível com três tipos de exportações do BigQuery:
  • Diária: o Google Analytics exporta dados para tabelas nomeadas no formato events_XXXXXX. As tabelas são criadas uma vez por dia, após o final do dia, quando todos os eventos do dia em questão são coletados.

  • Nova frequência diária: o Google Analytics exporta dados para tabelas nomeadas no formato events_fresh_XXXXXX. As tabelas são criadas e atualizadas de acordo com um cronograma, com uma frequência máxima de uma vez por hora. Esse recurso está disponível apenas para os clientes do Google Analytics 360.

  • Streaming: o Google Analytics exporta dados continuamente ao longo do dia e os armazena em uma tabela nomeada no formato events_intraday_XXXXXX.

  • Usuários: exportação do Google Analytics com dados do usuário relacionados aos eventos coletados. As tabelas são armazenadas no BigQuery e nomeadas nos formatos users_XXXXXX e pseudonymous_users_XXXXXX.

O conector é compatível com esses três tipos de exportação e baixa automaticamente todas as tabelas que encontra no BigQuery, sem exigir nenhuma configuração adicional.

Tabelas do coletor

Para cada propriedade, o conector salva os eventos em tabelas específicas da propriedade, que são criadas em um banco de dados e um esquema fornecidos durante a configuração do conector.

Para cada uma das propriedades, podem ser criadas até quatro tabelas de coletor, dependendo de quais tipos de exportação foram ativados. As tabelas são nomeadas da seguinte forma:

  • ANALYTICS_<propertyId>

  • ANALYTICS_INTRADAY_<propertyId>

  • USERS_<propertyId>

  • PSEUDONYMOUS_USERS_<propertyId>

Ingestão diária da tabela

O conector baixa a tabela inteira em uma única execução quando reconhece que a tabela está presente em BigQuery. O Google alerta que as tabelas diárias podem ser atualizadas até 72 horas após a criação da tabela. Para garantir a consistência dos dados, o conector recarrega as tabelas após 72 horas (Observe que o tempo exato de recarga depende do cronograma de ingestão do conector). Atualizações em BigQuery feitas após 72 horas da criação da tabela não serão refletidas no Snowflake. Essas tabelas podem ser recarregadas manualmente, usando um dos procedimentos RELOAD_PROPERTY.

Ingestão da tabela Nova frequência diária

Após cada execução bem-sucedida de ingestão do conector, as recargas são criadas continuamente para recarregar a tabela por até 96 horas: 24 horas no dia em que a tabela é criada e 72 horas quando podem ocorrer atualizações de dados. As recargas seguirão cada execução de ingestão bem-sucedida, acionadas após cada execução do dispatcher, com uma frequência máxima de uma vez por hora. A data da última recarga é calculada com base no nome da tabela e no período de 96 horas alocado.

Se uma ingestão de Nova frequência diária precisar ser recuperada, por exemplo, devido a uma pausa no conector, o conector ingerirá todas as tabelas sequencialmente. As recargas não serão criadas se forem desnecessárias, ou seja, se mais de 96 horas tiverem se passado desde que a tabela foi criada.

Esse recurso está disponível apenas para os clientes do Google Analytics 360. As exportações de Nova frequência diária podem ser ativadas manualmente usando os procedimentos ENABLE_PROPERTIES ou UPDATE_INGESTION_OPTIONS.

Ingestão intradiária

O conector oferece suporte ao download de tabelas intradiárias históricas (se estiverem presentes em BigQuery) e a ingestão contínua de tabelas intradiárias que ainda recebem atualizações.

Nos últimos dias, o conector baixa tabelas intradiárias da mesma forma que faz com as diárias – cada tabela é baixada inteira, uma tabela por vez, até que o processo chegue aos dados do dia atual.

Quando o conector reconhece que uma tabela intradiária é a última em BigQuery, ele começa a processar a tabela de forma incremental. Isso significa que ele baixa lotes de dados recebidos da tabela ao longo do dia, em um intervalo constante, que é de 8 horas por padrão.

Quando qualquer uma das seguintes condições for atendida:

  • Uma tabela do dia seguinte apareceu no conjunto de dados BigQuery

  • 24 horas se passaram desde o primeiro carregamento da tabela fornecida

o conector faz uma ingestão final para a tabela intradiária fornecida e alterna para a próxima.

Nota

Um pequeno número de eventos pode não ser ingerido se os eventos forem atrasados por mais de 10 minutos. Imediatamente após o término do carregamento incremental de uma tabela intradiária, o conector verifica se há algum evento perdido e, em caso positivo, agenda um recarregamento da tabela para garantir a consistência dos dados entre o Snowflake e BigQuery.

Ingestão de tabelas de dados do usuário

A ingestão de tabela de dados do usuário é baseada no mesmo mecanismo da ingestão de tabelas diárias.

Agendamento

O conector verifica se existem novas tabelas em BigQuery e agenda suas ingestões (ou parte delas, no caso de ingestões intradiárias incrementais) no Snowflake quando:

  • A tarefa é acionada de acordo com o cronograma configurado
    • Por padrão é a cada 8 horas

    • Usando CONFIGURE_INGESTION_INTERVAL é possível alterar o valor do intervalo padrão se precisar de atualizações mais/menos frequentes.

  • O conector concluiu a ingestão da última tabela agendada
    • Consequentemente, isso significa que os agendamentos são mais frequentes do que decorre da configuração, já que deve haver pelo menos uma ingestão por dia, o que significa pelo menos uma verificação extra.

    • Em particular, quando há um carregamento inicial em andamento e há muitas tabelas para ingerir, após a ingestão de cada uma das tabelas, o mecanismo de agendamento é acionado.