Configurando o Openflow Connector for Google BigQuery¶
Nota
O conector está sujeito aos Termos do conector Snowflake.
Este tópico descreve as etapas para configurar o Openflow Connector for Google BigQuery.
Pré-requisitos¶
Configure sua implantação de tempo de execução.
Se você usa Openflow - Snowflake Deployments, certifique-se de ter revisado a configuração dos domínios necessários e concedido acesso aos domínios exigidos pelo conector.
Você tem acesso à função de administrador do Openflow ou uma função semelhante usada para gerenciar o Openflow.
Se você estiver criando um usuário de serviço do Snowflake para gerenciar o conector, já criou uma autenticação de par de chaves. Para obter mais informações, consulte autenticação de par de chaves.
Pontos de extremidade obrigatórios¶
Os seguintes pontos de extremidade são obrigatórios para que o conector funcione:
bigquery.googleapis.com:443bigquerystorage.googleapis.com:443oauth2.googleapis.com:443
Se você usa o Openflow – BYOC, precisa configurar a saída da rede de nuvem para permitir o acesso TLS 443 aos pontos de extremidade listados acima. Se você usa Openflow - Snowflake Deployments, precisa criar uma regra de rede e uma integração de acesso externo (External Access Integration, EAI). Em seguida, conceda os privilégios de uso de função do Snowflake na EAI.
Configuração de BigQuery¶
Crie uma conta do Google Cloud Service e conceda a ela as permissões necessárias para ler dados do BigQuery. O conector usa essa conta para autenticação.
Essa conta deve ter as seguintes permissões:
Importante
BigQuery Data Editordeve ser concedido no nível do projeto, não a conjuntos de dados individuais. O conector consulta{project}.{region}.INFORMATION_SCHEMA.TABLESpara descobrir tabelas em todas as regiões configuradas: uma exibição com escopo regional que requer acesso no nível do projeto. O conector também consulta{project}.{dataset}.INFORMATION_SCHEMA.KEY_COLUMN_USAGEpara determinar chaves primárias para cada tabela replicada. Sem acesso no nível do projeto, a consulta falha com o erroAccess Denied, e o conector não é executado corretamente.
Gere e baixe o arquivo de chave JSON correspondente para a conta de serviço. Você precisará do conteúdo completo desse arquivo para a configuração do conector.
Habilite o histórico de alterações em cada tabela de origem para permitir que o conector execute a replicação incremental. Esse recurso permite que o BigQuery rastreie as alterações no nível da linha (inserções, atualizações e exclusões), que o conector usa para sincronizar dados com eficiência.
Execute a seguinte consulta no console do BigQuery para cada tabela:
Configurar sua conta Snowflake¶
Como administrador do Openflow, execute as seguintes tarefas para configurar sua conta Snowflake:
Crie um usuário de serviço do Snowflake:
Armazene a chave privada do usuário em um arquivo para fornecer para a configuração do conector. Para obter mais informações, consulte autenticação de par de chaves.
Crie um banco de dados para armazenar os dados replicados e configure permissões para que o usuário do Snowflake crie objetos nesse banco de dados concedendo os privilégios USAGE e CREATE SCHEMA.
Crie um novo warehouse ou use um warehouse existente para o conector.
Para criar um novo warehouse:
Comece com o tamanho MEDIUM de warehouse e, em seguida, experimente os tamanhos dependendo da quantidade de tabelas que estão sendo replicadas e da quantidade de dados transferidos.
Para determinar se você deve aumentar, monitore o conector e o banco de dados enquanto a replicação de dados estiver em andamento. Se você observar atrasos significativos durante a replicação incremental, experimente um tamanho de warehouse maior. No entanto, o escalonamento de grandes números de tabelas normalmente é melhor usando warehouses multicluster em vez de aumentar o tamanho do warehouse.
Crie uma integração de acesso externo para permitir o acesso à rede fora do Snowflake.
Cuidado
Se o seu tempo de execução é executado no Openflow – BYOC, você não precisa criar uma integração de acesso externo (EAI). Em vez disso, configure a saída da rede de nuvem para permitir o acesso TLS 443 aos pontos de extremidade listados abaixo.
Os pontos de extremidade host:porta necessários estão listados em Pontos de extremidade obrigatórios.
Para permitir que o conector chame as APIs do Google necessárias de um tempo de execução hospedado pelo Snowflake, você deve criar uma regra de rede e uma integração de acesso externo (EAI). Em seguida, conceda os privilégios de uso de função do Snowflake na EAI.
Para criar a integração de acesso externo e a regra de rede e conceder o acesso, execute as seguintes etapas:
Crie uma regra de rede para permitir que o conector acesse as APIs do Google necessárias:
Crie uma integração de acesso externo que faça referência à regra de rede:
Conceda o privilégio USAGE na integração à sua função do Snowflake:
Instalação do conector¶
Para instalar o conector, faça o seguinte como engenheiro de dados:
Navegue até a página de visão geral do Openflow. Na seção Featured connectors, selecione View more connectors.
Na página de conectores do Openflow, localize o conector e selecione Add to runtime.
Na caixa de diálogo Select runtime, selecione seu tempo de execução na lista suspensa Available runtimes e clique em Add.
Nota
Antes de instalar o conector, verifique se você criou um banco de dados e um esquema no Snowflake para que o conector armazene os dados ingeridos.
Autentique-se na implementação com as credenciais de sua conta Snowflake e selecione Allow quando solicitado para permitir que o aplicativo de tempo de execução acesse sua conta Snowflake. O processo de instalação do conector leva alguns minutos para ser concluído.
Autentique-se no tempo de execução com as credenciais de sua conta Snowflake.
A tela do Openflow é exibida com o grupo de processos do conector adicionado a ela.
Configuração do conector¶
Para configurar o conector, execute as seguintes etapas:
Clique com o botão direito do mouse no tempo de execução adicionado e selecione Parameters.
Preencha os valores dos parâmetros necessários conforme descrito em Especificar parâmetros de fluxo.
Especificar parâmetros de fluxo¶
Esta seção descreve os parâmetros de fluxo que podem ser configurados com base nos contextos de parâmetros a seguir:
Parâmetros de origem do BigQuery: usados para definir a configuração de leitura de dados do BigQuery.
Parâmetros de destino do BigQuery: utilizado para estabelecer conexão com o Snowflake.
Parâmetros de ingestão do BigQuery: usados para especificar as tabelas e exibições a serem replicadas.
Parâmetros de origem do BigQuery¶
Parâmetro |
Descrição |
|---|---|
Nome do projeto BigQuery |
O identificador exclusivo do projeto do Google Cloud que contém conjuntos de dados e tabelas do BigQuery. Onde encontrar: abra o BigQuery Studio (Google Cloud Console > BigQuery) e, no painel esquerdo do navegador, passe o cursor do mouse sobre seu projeto para ver o ID. Exemplo: |
JSON da conta de serviço do GCP |
Todo o conteúdo do arquivo de chave JSON na conta de serviço do Google Cloud Platform utilizado para autenticação. Certifique-se de que a conta de serviço tenha as permissões do IAM necessárias para executar operações do BigQuery, como as funções de usuário de trabalho do BigQuery e de visualizador de dados do BigQuery. Onde obter: Google Cloud Console > IAM e admin > Contas de serviço > selecione a conta de serviço > guia Chaves > Adicionar chave > Criar nova chave > JSON. Dessa forma, um arquivo .json é baixado. Abra-o e cole todo o conteúdo do arquivo (incluindo as chaves) nesse campo. |
Parâmetros de destino do BigQuery¶
Parâmetro |
Descrição |
|---|---|
Estratégia de autenticação Snowflake |
Ao usar SPCS, use SNOWFLAKE_SESSION_TOKEN como o valor para estratégia de autenticação. Ao usar BYOC, use KEY_PAIR como o valor para estratégia de autenticação. Exemplo: |
Identificador de conta Snowflake |
Ao utilizar:
|
Banco de dados de destino |
O nome do banco de dados de destino no qual será feita a replicação. A combinação de maiúsculas e minúsculas é permitida. |
Arquivo de chave privada Snowflake |
Ao utilizar:
|
Senha de chave privada Snowflake |
Ao utilizar:
|
Função Snowflake |
Ao utilizar:
|
Nome de usuário do Snowflake |
Ao utilizar:
|
Warehouse Snowflake |
O nome do warehouse a ser usado pelo conector. |
Parâmetros de ingestão do BigQuery¶
Parâmetro |
Descrição |
|---|---|
Regiões BigQuery |
Especifica uma lista separada por vírgulas dos locais a serem consultados para conjuntos de dados do BigQuery. É possível combinar locais regionais e multirregionais na mesma lista. Exemplo: |
Nomes de conjuntos de dados incluídos |
Lista separada por vírgulas de conjuntos de dados a serem replicados (consultados em todas as regiões selecionadas). Exemplo: |
Regex de nomes de conjuntos de dados incluídos |
Expressão regular para especificar os nomes dos conjuntos de dados a serem replicados (consultados em todas as regiões selecionadas). Combinada com os nomes dos conjuntos de dados incluídos para incluir qualquer conjunto de dados correspondente. Observação: a expressão REGEXP deve corresponder à sintaxe RE2 do Google. Exemplo: |
Nomes de tabela inclusos |
Lista separada por vírgulas de tabelas para replicar em conjuntos de dados. Exemplo: |
Regex de nomes de tabelas incluídos |
Expressão regular para especificar nomes de tabelas a serem replicados em conjuntos de dados. Combinada com os nomes de tabelas incluídos para incluir qualquer tabela correspondente. Observação: a expressão REGEXP deve corresponder à sintaxe RE2 do Google. Exemplo: |
Nomes de exibições incluídos |
Lista de exibições separadas por vírgulas para replicar em conjuntos de dados. Exemplo: |
Regex de nomes de exibições incluídos |
Expressão regular para especificar nomes de exibições para replicação em conjuntos de dados. Combinada com os nomes de exibições incluídos para incluir qualquer exibição correspondente. Observação: a expressão REGEXP deve corresponder à sintaxe RE2 do Google. Exemplo: |
Frequência de sincronização incremental |
Com que frequência o conector executa a sincronização incremental para cada tabela. As execuções não se sobrepõem. Se um ciclo leva mais tempo do que o intervalo configurado, a próxima execução aguarda a conclusão da anterior. Como o BigQuery limita o tamanho máximo da janela a 24 horas, o cronograma deve ser mais frequente do que esse valor. Exemplo: |
Frequência de sincronização de exibição |
Com que frequência o conector executa a sincronização para cada exibição. As execuções não se sobrepõem. Se um ciclo leva mais tempo do que o intervalo configurado, a próxima execução aguarda a conclusão da anterior. A ingestão de exibição não é compatível com CDC, apenas truncamento e carregamento. Exemplo: |
Conjunto de dados de tabela temporária |
Conjunto de dados no qual são criadas as tabelas temporárias necessárias, como tabelas de diário ou tabelas temporárias CDC para ingestão de exibição. A Snowflake recomenda ter um conjunto de dados separado para tabelas temporárias, e não usar o conjunto de dados ingerido para essa finalidade. Exemplo: |
Execute o fluxo¶
Clique com o botão direito do mouse no plano e selecione Enable all Controller Services.
Clique com o botão direito do mouse no grupo de processos importado e selecione Start. O conector inicia a ingestão de dados.
Próximos passos¶
Para obter informações sobre as tarefas que você pode realizar após a instalação do conector, consulte Usar o conector
Para obter informações sobre o monitoramento do fluxo, consulte Monitorar o fluxo