Database
 sql >> Base de Dados >  >> RDS >> Database

Conectando o Google BigQuery ao software IRI Voracity


BigQuery é um armazenamento de dados gerenciado e sem servidor no Google Cloud projetado para permitir análises escalonáveis ​​em petabytes de dados. É uma plataforma de banco de dados relacional como serviço (PaaS) que suporta consultas ANSI SQL. Como tal, funciona com o software IRI.

Conectar o Google BigQuery RDB ao IRI Workbench e o programa de processamento de back-end SortCL é simples e permite a movimentação e manipulação de seus dados estruturados por meio de produtos IRI compatíveis. Isso significa IRI CoSort, FieldShield, NextForm e RowGen, ou a plataforma IRI Voracity, que inclui todos eles.

A conectividade segue o mesmo paradigma de todos os outros bancos de dados relacionais suportados pelo IRI. Isso significa download e instalação do driver ODBC e JDBC, configuração (usando e testando com suas credenciais), registro e validação.

Como o Workbench é desenvolvido no Eclipse, ele precisa de uma conexão JDBC para visualizar o esquema do BigQuery e analisar os metadados da tabela. E para passar dados entre o BigQuery e o mecanismo de manipulação de dados SortCL, também é necessário um driver ODBC. O resultado final pode ser este:



O Google se uniu ao Magnitude Simba para fornecer drivers ODBC e JDBC para se conectar ao BigQuery. No momento da redação deste artigo, no entanto, seu driver JDBC estava sem as principais funções que o Workbench precisa. Para contornar isso, use o driver JDBC do CData.

Este artigo fornece instruções passo a passo para o software IRI acessar o BigQuery.

Contas de serviço no BigQuery

O BigQuery autoriza o acesso a recursos com base na identidade verificada, que precisa de um ID de usuário na forma de uma conta de serviço e uma chave/senha. Para criar uma identidade verificada, faça login no BigQuery, acesse Contas de serviço em IAM e administrador e crie uma conta:



O primeiro campo cria o nome da conta de serviço, para minha configuração chamei de iri-simba. O segundo campo será preenchido automaticamente com um endereço de e-mail da conta de serviço usando o nome que você escolheu. O último campo pode ser ignorado. Clique em Criar e continuar.

Agora que uma conta de serviço foi criada, podemos passar para o tipo de permissões que essa conta pode ter. Clique emSelecione uma função e procure o BigQuery para adicionar papéis específicos ao banco de dados.



Passar o mouse sobre cada função fornecerá uma descrição rápida do tipo de acesso que essa função dará à conta de serviço; encontre uma explicação mais detalhada aqui. Isso permite maior controle ao conceder permissões a usuários específicos, como a capacidade de visualizar tabelas, criar consultas ou executar como administrador.

Escolhi a função de usuário do BigQuery, que permitirá que essa conta de serviço visualize e manipule tabelas. A opção "Conceder acesso de usuário a esta conta de serviço" é ignorada. Clicando em Concluído leva você de volta à página principal da conta de serviço, onde você pode ver a conta:



Passando para a segunda parte, vamos criar a chave que será associada à nova conta de serviço. No campo Ação, clique em Gerenciar chaves para criar a chave para a conta de serviço — adicionando sua própria chave ou criando-a para você.

Se você fizer com que o Google crie sua chave, ele apresentará duas opções de tipo de chave, JSON ou P12. Escolha o tipo JSON porque essa chave também será usada para o driver JDBC que usa o formato JSON.

Quando a chave JSON for criada, ela será baixada no computador. Você pode colocá-lo onde quiser, mas lembre-se do caminho, pois ele será usado na configuração do driver ODBC e JDBC.

Agora que a conta de serviço foi criada e possui uma chave que funcionará como senha, vamos baixar a conexão ODBC e configurá-la.

ODBC – Download e configuração

Estou usando um sistema operacional Windows e escolho a versão Windows de 64 bits para compatibilidade com o executável CoSort V10.5 SortCL. Depois de seguir as instruções e aceitar o contrato de licença do Simba Installer, abra o ODBC Data Source Administrator (64 bits) para configurar a conexão.



Basta adicionar e procurar o driver chamado “Simba ODBC Driver for Google BigQuery”.



Com o driver selecionado, a página de configuração deve ficar assim:



Aqui a configuração é bem simples, começando com o nome da fonte de dados.
Escolhi o nome Google BigQuery, mas você pode escolher qualquer nome para seu caso de uso.

Para autenticação, mantenha a opção padrão Conta de serviço e desça para e-mail. Aqui você pode copiar e colar o e-mail da conta de serviço que foi criado anteriormente neste artigo.

O campo abaixo (Caminho do arquivo de chave) usa o caminho para o arquivo de chave JSON como entrada. Na parte inferior, onde diz Catálogo (Projeto), clique no menu suspenso. Se tudo estiver configurado corretamente, deve mostrar o nome do projeto e o nó que contém os conjuntos de dados e tabelas.

Você pode fazer o mesmo para a opção Conjunto de dados, clique no menu suspenso para selecionar um conjunto de dados específico ou deixe em branco para ver todos os conjuntos de dados neste projeto. Por fim, teste a conexão para garantir que tudo esteja funcionando corretamente.

Quando o ODBC está configurado, podemos configurar o driver JDBC.

JDBC – Download e configuração

Baixe o driver JDBC do CData aqui. Quando a instalação estiver concluída, haverá uma pasta chamada GoogleBigQueryJDBCDriver com um setup.jar dentro.

O setup.jar instalará todos os arquivos necessários para que a conexão JDBC funcione. Ele também contém um jar especial para auxiliar na criação da URL de conexão para o driver JDBC.

Após o setup.jar concluir a instalação, precisamos ter as configurações no Workbench prontas. No Data Source Explorer (dentro do Workbench), adicione uma nova conexão clicando em New Connection Profile .



Um pop aparecerá (como na imagem abaixo) e dará várias opções sobre o tipo de conexões que podem ser criadas. Selecione o JDBC genérico e dê a ele um nome como BigQuery, isso facilitará a localização no Data Source Explorer.



A próxima página irá direcioná-lo para configurar o driver e fornecer os detalhes da conexão. Clique em Nova definição de driver que se parece com uma bússola com um sinal de mais verde.



A página a seguir permite que você dê um nome específico ao driver, se desejado. Movendo-se para a guia JAR List, é aqui que os jars necessários são incluídos para que o driver JDBC funcione.

Se o local padrão foi usado ao instalar os arquivos para o driver JDBC, ele deve estar localizado na pasta Arquivos de Programas com o nome CData. Dentro da pasta lib há um arquivo Jar chamado cdata.jdbc.googlebigquery.GoogleBigQueryDriver , adicione esse jar à lista e vá para a guia Propriedades.

*O caminho padrão é visto na imagem abaixo se houver algum problema para localizar o arquivo jar*



Na guia Propriedades, precisamos criar uma URL de conexão, dar um nome ao Banco de Dados e especificar a Classe do Driver. Focando primeiro na criação da URL de conexão, no Explorador de Arquivos localize o arquivo jar que acabou de ser adicionado e execute-o.

Isso ajudará a criar a URL de conexão no formato sugerido pelo CData. Como visto na figura abaixo, existem propriedades à esquerda que precisam ser definidas para criar a URL de conexão.



CData tem documentação sobre quais propriedades precisam ser definidas dependendo de como o usuário escolheu autenticar. Como estamos autenticando com uma conta de serviço, as propriedades que precisam ser definidas estão listadas abaixo.
  • AuthScheme – definido como OAuthJWT
  • ProjectID – localizado na página inicial do BigQuery
  • InitiateOAuth – definido como GETANDREFRESH
  • OAuthJWTCertType – definido como GOOGLEJSON
  • OAuthJWTCert – Caminho para o arquivo .json fornecido pelo Google

Depois que todas as propriedades estiverem definidas, teste a conexão para garantir que tudo esteja funcionando. Se for bem-sucedido, copie a string de conexão na parte inferior. Se você sair sem copiar o URL de conexão, terá que definir as propriedades novamente.

De volta ao Workbench, cole o URL ao lado da propriedade URL de conexão e adicione o nome do banco de dados para a propriedade Nome do banco de dados. Para a propriedade Driver Class, há um botão com três pontos no campo vazio.

Clique nele e ele lhe dará a opção de inserir o nome da classe do driver ou fazer a varredura da lista JAR para o driver. Depois que tudo estiver pronto, ele deve ficar parecido com isto:



Clique emOK e você será enviado de volta para a página "Especificar um driver e detalhes de conexão". Não há necessidade de adicionar um nome de usuário ou senha porque todas as informações estão na URL de conexão. Teste a conexão uma última vez e clique em concluir.

O perfil de conexão agora estará visível no Data Source Explorer e os esquemas/tabelas poderão ser vistos quando você clicar com o botão direito do mouse no perfil e escolher conectar.



A última tarefa é criar um Registro de Conexão de Dados que mapeie o DSN para o Perfil de Conexão que acabou de ser criado. Vá para o Menu IRI, selecione as preferências e localize o Registro de Conexão de Dados como sugere a imagem abaixo.



À esquerda está o DSN e à direita estão os perfis de conexão. Localize o DSN criado na seção ODBC acima e clique em Editar…. Selecione o DSN, a versão e o perfil de conexão.



Como o DSN tem as credenciais salvas na URL de conexão, não há necessidade de autenticação com usuário/senha. Clique em OK e Aplicar e Fechar para sair do menu.

Agora você concluiu as etapas de conectividade do banco de dados para o Google BigQuery. Se precisar de ajuda, envie um email para [email protected].