robots: noindex
Como configurar o Looker para usar drivers JDBC não empacotados
Para alguns dos dialetos compatíveis com o Looker, o driver JDBC não pode ser empacotado no arquivo JAR do Looker por motivos relacionados ao licenciamento. Nesses casos, você precisa instalar o driver JDBC no seu servidor do Looker e configurar o Looker para registrar o driver descompactado, conforme descrito nesta página.
A tabela a seguir mostra os dialetos que exigem instalações do driver JDBC não empacotados:
Pré-requisitos
Para conectar o Looker a um banco de dados que requer um driver JDBC não empacotado, você precisará do seguinte:
- Acesso de linha de comando ao servidor do Looker.
- O driver JDBC como um arquivo JAR. A documentação específica do dialeto pode ter instruções sobre onde fazer o download desse arquivo. Caso contrário, presumimos que você tenha acesso ao arquivo JAR necessário.
- O símbolo do motorista do seu dialeto. Um símbolo de driver é um valor de string que o Looker usa internamente para corresponder o dialeto ao motorista. Os exemplos nesta página usam o valor genérico
driver_symbol
. Veja a lista de símbolos de driver nesta página para os símbolos que o Looker usa para registrar drivers JDBC em dialetos. - A entrada do driver YAML para seu dialeto a ser adicionado ao arquivo de configuração
custom_jdbc_config.yml
. Consulte a seção Entradas do driver no arquivo de configuração YAML desta página para mais informações.
Entradas do driver no arquivo de configuração YAML
Veja um exemplo de entrada do driver no arquivo custom_jdbc_config.yml
:
- name: driver_symbol
dir_name: driver_symbol
module_path: com.dialect.jdbc.DialectDriver
override_jdbc_url_subprotocol: driver_subprotocol # optional
Ao escrever a entrada do driver para seu dialeto:
- O arquivo
custom_jdbc_config.yml
é baseado em YAML, o que significa que o recuo e o espaçamento são importantes. - Os atributos
name
edir_name
precisam ser o símbolo de driver que o Looker espera para você ao registrar drivers JDBC. - É possível usar o atributo
file_name
em vez dedir_name
contendo o caminho relativo decustom_jdbc_drivers
para o arquivo JAR do driver JDBC. Odir_name
é recomendado porque promove manter vários drivers isolados nos próprios diretórios e reduz a chance de colisões de classes Java. - A propriedade
module_path
dependerá do driver JDBC específico. Ele precisa ser o caminho totalmente qualificado para a classe de driver Java. Este exemplo usa um valor genérico, mas, para encontrar omodule_path
específico que o driver usa, consulte a documentação sobre como registrar a classe do driver. - O
override_jdbc_url_subprotocol
é um argumento opcional usado para substituir o subprotocolo usado na string JDBC que o Looker envia para o banco de dados. Uma string JDBC típica terá esta aparência:
jdbc:mysql://localhost:3306/database_name[?propertyName1][=propertyValue1]
Em que mysql
é o subprotocolo JDBC que está sendo usado.
Se você especificar override_jdbc_url_subprotocol: driver_subprotocol
, essa string JDBC se tornará:
jdbc:driver_subprotocol://localhost:3306/database_name[?propertyName1][=propertyValue1]
Essa opção é necessária se você precisar usar um driver JDBC não empacotado que exija um subprotocolo de URL diferente do subprotocolo padrão de URL do Looker. Na maioria dos casos, isso não é necessário, a menos que a documentação do dialeto diga explicitamente que é necessário. MongoBI é um exemplo de um dialeto que requer essa opção.
Como instalar drivers JDBC não empacotados
Mude para o diretório base do aplicativo Looker. Neste documento, presumimos que seja
looker
cd looker
Crie um diretório chamado
custom_jdbc_drivers
. Este é o diretório de nível superior de todas as instalações de drivers JDBC não empacotados. O caminho para esse diretório precisa serlooker/custom_jdbc_drivers
mkdir custom_jdbc_drivers
No diretório
custom_jdbc_drivers
, crie um subdiretório chamado com o símbolo de driver do seu dialeto. Este exemplo usa o valor genéricodriver_symbol
. O caminho resultante para o diretório será semelhante alooker/custom_jdbc_drivers/driver_symbol
cd custom_jdbc_drivers mkdir driver_symbol
Coloque os arquivos do driver JDBC para seu dialeto neste diretório. O método para isso depende de onde o driver do seu dialeto pode ser encontrado e enviado para o servidor, mas certifique-se de que os arquivos JAR relevantes estejam dentro do diretório
driver_symbol
:looker/custom_jdbc_drivers/driver_symbol/
Por exemplo:looker/custom_jdbc_drivers/driver_symbol/DialectDriver.jar
A transferência dos arquivos necessários para o servidor do Looker varia de acordo com o local onde você recebe os arquivos do driver e sua preferência para a transferência de arquivos.
wget
,scp
,curl
etc. são exemplos de comandos para transferir arquivos para esse diretório.Volte ao diretório do aplicativo Looker e crie um arquivo de configuração chamado
custom_jdbc_config.yml
. O caminho para este arquivo deve serlooker/custom_jdbc_config.yml
. Esse arquivo conterá as informações de que o Looker precisa para localizar e registrar o driver JDBC personalizado.cd looker vim custom_jdbc_config.yml
Adicione uma nova entrada para o dialeto no arquivo de configuração
custom_jdbc_config.yml
. Consulte a seção Entradas de drivers no arquivo de configuração YAML desta página para ver informações sobre entradas de drivers.- name: driver_symbol dir_name: driver_symbol module_path: com.dialect.jdbc.DialectDriver
Crie ou atualize o arquivo
lookerstart.cfg
para que o aplicativo Looker seja iniciado com a configuração de driver JDBC descompactada. O caminho para este arquivo deve serlooker/lookerstart.cfg
. Adicione a opção--use-custom-jdbc-config
. Se houver outras opções, anexe-as ao final das opções de inicialização do Looker:LOOKERARGS="--use-custom-jdbc-config"
Se você tiver
LOOKERARGS
definido em algum lugar diferente delookerstart.cfg
, como em uma variável de ambiente, será possível adicionar essa sinalização de inicialização. Como alternativa, você pode definirLOOKERARGS="${LOOKERARGS} --use-custom-jdbc-config"
para que os valores existentes sejam expandidos para esse arquivo.Reinicie o aplicativo Looker. Nesse comando, use o nome do script de inicialização do Looker, como
./looker
ou./looker.sh
../looker restart
ou
none ./looker stop ./looker start
Vários drivers JDBC descompactados
Se você precisar configurar mais de um dialeto para usar drivers JDBC não empacotados, o processo acima ainda se aplicará. O diretório custom_jdbc_drivers
terá vários subdiretórios dialect
com os próprios JARs de driver, e o arquivo custom_jdbc_config.yml
terá várias entradas:
ls looker/custom_jdbc_drivers
driver_symbol_1 driver_symbol_2
ls looker/custom_jdbc_drivers/driver_symbol_1
Dialect1Driver.jar
- name: driver_symbol_1
dir_name: driver_symbol_1
module_path: com.dialect.jdbc.Dialect1Driver
- name: driver_symbol_2
dir_name: driver_symbol_2
module_path: com.dialect.jdbc.Dialect2Driver