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 oferece suporte a dois tipos de exportações BigQuery:
  • Diariamente: o Google Analytics exporta dados para tabelas denominadas events_XXXXXX. As tabelas são criadas uma vez por dia, após o fim do dia, uma vez coletados todos os eventos de um determinado dia.

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

  • Usuários – Exportação do Google Analytics com dados do usuário relacionados aos eventos coletados. As tabelas são armazenadas em BigQuery com os nomes users_XXXXXX e pseudonymous_users_XXXXXX.

O conector oferece suporte a ambos os tipos de exportação e baixa automaticamente todas as tabelas encontradas em BigQuery, independentemente de serem diárias ou intradiárias. Nenhuma configuração adicional é necessária.

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, quatro tabelas são criadas: uma para exportação diária, uma para exportação intradiária e duas para exportações de dados do usuário, nomeadas respectivamente ANALYTICS_XXXXXXXXX, ANALYTICS_INTRADAY_XXXXXXXXX, USERS_XXXXXXXXX e PSEUDONYMOUS_USERS_XXXXXXXXX. O conector sempre tentará ingerir todas as tabelas disponíveis em BigQuery, independentemente da configuração específica de exportação do Google Analytics.

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 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.