Ir para conteúdo principal Pular para conteúdo complementar

Databricks

Você pode usar o Databricks como uma plataforma de dados de destino em um pipeline de dados. Em um pipeline de dados, várias operações podem ser realizadas na plataforma de destino, incluindo aterrissagem de dados, armazenamento de dados, transformação de dados, criação de datamart e registro de dados.

Isso envolve:

Nota informativaCompatível somente com clusters do SQL Warehouse

Configurando uma área de teste na nuvem

Ao utilizar o conector do Databricks Target, você também precisa definir uma área de teste na nuvem onde os dados e as alterações sejam preparados antes de serem aplicados e armazenados. As seguintes plataformas de armazenamento são compatíveis:

Nota informativaSe você estiver registrando dados existentes, não precisará configurar uma área de teste na nuvem.

Configurando uma conexão com o Databricks

Selecione o conector de destino do Databricks e defina as configurações a seguir.

Destino de dados

Gateway de dados: O Data Movement gateway apenas será necessário se o banco de dados de destino não estiver acessível a partir do Qlik Cloud e somente pode ser acessado através de um link privado (por exemplo, se estiver localizado em uma nuvem privada virtual). Se esse for o caso, selecione o Data Movement gateway através do qual você deseja acessar o banco de dados de destino.

Dependendo do seu caso de uso, será o mesmo Data Movement gateway implantado para obter dados da fonte de dados ou de uma fonte diferente. Para obter informações sobre as possibilidades de implantação do Data Movement gateway, consulte Casos de uso comuns.

Nota informativaRequer o Data Movement gateway 2023.5.10 ou mais recente.

Se o banco de dados de destino estiver acessível diretamente no Qlik Cloud, selecione Nenhum.

Nota informativaAo acessar o banco de dados de destino via Data Movement gateway, você também precisa instalar o driver apropriado na máquina do Data Movement gateway. Para detalhes, consulte Configuração do driver abaixo.

Propriedades da conexão

  • Host: o nome do host do espaço de trabalho do Databricks.
  • Porta: a porta pela qual acessar o espaço de trabalho.
  • Caminho HTTP: o caminho para o cluster que está sendo usado.
  • Token: seu token pessoal para acessar o espaço de trabalho.

Propriedades do catálogo

Clique em Carregar catálogos para carregar os catálogos disponíveis e selecione um Catálogo. Se o seu ambiente não estiver configurado com nenhum catálogo, selecione hive_metastore, que é o catálogo padrão.

Nota informativa

Você precisa permitir que o Data Movement gateway acesse tabelas externas (não gerenciadas) definindo um local externo no Databricks. Para obter diretrizes, consulte:

https://docs.databricks.com/data-governance/unity-catalog/manage-external-locations-and-credentials.html#manage-permissions-for-an-external-location

Propriedades internas

Propriedades internas são para casos de uso especiais e, portanto, não são expostas na caixa de diálogo. Você só deve usá-las se instruído pelo Suporte da Qlik.

Use os botões Criar novo e Cancelar à direita dos campos para adicionar ou remover propriedades conforme necessário.

Nome

O nome de exibição da conexão.

Pré-requisitos

Permissões gerais

  • A hora na máquina do Servidor do Qlik Cloud Data Integration deve ser exata.
  • Permissões de tabela do Databricks: o Gateway Data Movement requer permissões para realizar as seguintes operações nas tabelas do Databricks: CREATE, DROP, TRUNCATE, DESCRIBE e ALTER.
  • Nas configurações de controle de acesso (IAM) para o sistema de arquivos ADLS Gen2, atribua a função "Colaborador de dados Blob de armazenamento" ao Gateway Data Movement (ID do aplicativo AD). Pode levar alguns minutos para que a função entre em vigor.
  • Para que o Gateway Data Movement se conecte a um cluster do Databricks via ODBC, os usuários devem receber a permissão "Pode anexar a" em sua conta do Databricks.
  • Um token de segurança válido é necessário para acessar o Databricks. O token deve ser especificado ao configurar os campos Acesso ODBC do Databricks nas configurações do terminal.
  • Ao configurar um novo cluster com o Microsoft Azure Data Lake Storage (ADLS) Gen2, a linha a seguir deve ser adicionada à seção "Configuração do Spark".

    spark.hadoop.hive.server2.enable.doAs false

  • Para poder acessar os diretórios de armazenamento do cluster do Databricks, os usuários precisam adicionar uma configuração (na Configuração do Spark) para essa conta de armazenamento e sua chave.

    Exemplo:  

    fs.azure.account.key.<storage-account-name>.dfs.core.windows.net <storage-account-access-key>

    Para obter detalhes, consulte a ajuda online do Databricks em: https://docs.databricks.com/clusters/configure.html#spark-configuration

  • A melhor prática é não usar a localização raiz (/Usr/Hive/Warehouse/) para o banco de dados do Databricks, pois isso pode afetar o desempenho.

Permissão de acesso ao armazenamento

A computação SQL do Databricks deve ser configurada para acessar o armazenamento em nuvem. Para obter instruções, consulte a ajuda online do fornecedor.

Configuração do driver

Um driver apenas será necessário se você estiver acessando o banco de dados via Data Movement gateway. Nesse caso, você precisa instalar o driver na máquina Data Movement gateway.

Você pode instalar o driver usando o utilitário de instalação do driver (recomendado) ou manualmente. A instalação manual só deve ser tentada no caso improvável de você encontrar um problema com o utilitário de instalação do driver.

Usando o utilitário de instalação de driver para instalar o driver

Esta seção descreve como instalar o driver necessário. O processo envolve a execução de um script que baixará, instalará e configurará automaticamente os driver necessários. Você também pode executar scripts para atualizar e desinstalar o driver como necessário.

  • Certifique-se de que o Python 3.6.x ou mais recente esteja instalado no servidor de gateway do Movimentação de dados.

    O Python vem pré-instalado na maioria das distribuições do Linux. Você pode verificar qual versão do Python está instalada em seu sistema executando o seguinte comando:

    python3 --version

Para baixar e instalar o driver:

  1. Pare o serviço do Gateway Data Movement:

    sudo systemctl stop repagent

  2. Opcionalmente, confirme se o serviço foi interrompido:

    sudo systemctl status repagent

    O status deverá ser o seguinte:

    Active: inactive (dead) since <timestamp> ago

  3. Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:

    opt/qlik/gateway/movement/drivers/bin

  4. Execute o seguinte comando:

    Sintaxe:

    ./install databricks

    Se o driver não puder ser baixado (devido a restrições de acesso ou problemas técnicos), uma mensagem será exibida informando onde baixar o driver e onde copiá-lo na máquina de gateway do Movimentação de dados. Depois de fazer isso, execute o comando install databricks novamente.

    Caso contrário, o EULA do driver será exibido.

  5. Realize uma das seguintes ações:

    • Pressione [Enter] repetidamente para percorrer lentamente o EULA.
    • Pressione a barra de espaço repetidamente para rolar rapidamente pelo EULA.
    • Pressione q para sair do texto da licença e ser apresentado às opções de aceitação do EULA.
  6. Realize uma das seguintes ações:

    • Digite "y" e pressione [Enter] para aceitar o EULA e iniciar a instalação.
    • Digite "n" e pressione [Enter] para rejeitar o EULA e sair da instalação.
    • Digite "v" e pressione [Enter] para visualizar o EULA novamente.

  7. O driver será instalado.

  8. Aguarde a conclusão da instalação (indicada por "Concluído!") e inicie o serviço do Gateway Data Movement:

    sudo systemctl start repagent

  9. Opcionalmente, confirme se o serviço foi iniciado:

    sudo systemctl status repagent

    O status deverá ser o seguinte:

    Active: active (running) since <timestamp> ago

Execute o comando de atualização se quiser desinstalar versões anteriores do driver antes de instalar o driver fornecido.

Para baixar e atualizar o driver:

  1. Pare o serviço do Gateway Data Movement:

    sudo systemctl stop repagent

  2. Opcionalmente, confirme se o serviço foi interrompido:

    sudo systemctl status repagent

    O status deverá ser o seguinte:

    Active: inactive (dead) since <timestamp> ago

  3. Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:

    opt/qlik/gateway/movement/drivers/bin

  4. Execute o seguinte comando:

    Sintaxe:

    ./update databricks

    Se o driver não puder ser baixado (devido a restrições de acesso ou problemas técnicos), uma mensagem será exibida informando onde baixar o driver e onde copiá-lo na máquina de gateway do Movimentação de dados. Depois de fazer isso, execute o comando update databricks novamente.

    Caso contrário, o EULA do driver será exibido.

  5. Realize uma das seguintes ações:

    • Pressione [Enter] repetidamente para percorrer lentamente o EULA.
    • Pressione a barra de espaço repetidamente para rolar rapidamente pelo EULA.
    • Pressione q para sair do texto da licença e ser apresentado às opções de aceitação do EULA.
  6. Realize uma das seguintes ações:

    • Digite "y" e pressione [Enter] para aceitar o EULA e iniciar a instalação.
    • Digite "n" e pressione [Enter] para rejeitar o EULA e sair da instalação.
    • Digite "v" e pressione [Enter] para revisar o EULA desde o início.
  7. O driver antigo será desinstalado, e o novo driver será instalado.

  8. Aguarde a conclusão da instalação (indicada por "Concluído!") e inicie o serviço do Gateway Data Movement:

    sudo systemctl start repagent

  9. Opcionalmente, confirme se o serviço foi iniciado:

    sudo systemctl status repagent

    O status deverá ser o seguinte:

    Active: active (running) since <timestamp> ago

Execute o comando de desinstalação se quiser desinstalar o driver.

Para desinstalar o driver:

  1. Pare todas as tarefas configuradas para usar esse conector.

  2. Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:

    opt/qlik/gateway/movement/drivers/bin

  3. Execute o seguinte comando:

    Sintaxe:

    ./uninstall databricks

    O driver será desinstalado.

Instalando manualmente o driver

Você só deve tentar instalar o driver manualmente se a instalação automática do driver não for concluída com êxito.

Após a instalação do Data Movement gateway, baixe o arquivo SimbaSparkODBC-<version>-LinuxRPM-64bit.zip. Você pode encontrar um link de download direto para a versão compatível em binary-artifacts em /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Assim que o download for concluído, copie o arquivo para a máquina Data Movement gateway.

  1. Pare o serviço do Gateway Data Movement:

    sudo systemctl stop repagent

  2. Opcionalmente, confirme se o serviço foi interrompido:

    sudo systemctl status repagent

  3. O status deverá ser o seguinte:

    Active: inactive (dead) since <timestamp> ago

  4. Instale o driver na máquina do Gateway Data Movement.

  5. Uma vez instalado, certifique-se de que a seção a seguir apareça no arquivo /etc/odbcinst.ini:

  6.  [Driver ODBC do Simba Spark] Descrição=Driver ODBC do Amazon Hive (64 bits) Driver=/opt/simba/spark/lib/64/libsparkodbc_sb64.so
  7. Inicie o serviço do Gateway Data Movement:

    sudo systemctl start repagent

  8. Opcionalmente, confirme se o serviço foi iniciado:

    sudo systemctl status repagent

    O status deverá ser o seguinte:

    Active: active (running) since <timestamp> ago

  1. Baixe o arquivo databricks-jdbc-<version>.jar. Você pode encontrar um link de download direto para a versão compatível em binary-artifacts em /opt/qlik/gateway/movement/drivers/manifests/databricks.yaml. Assim que o download for concluído, copie o arquivo JAR para a seguinte pasta na máquina do Data Movement gateway:

    /opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib

  2. Reinicie o serviço Data Movement gateway e verifique se ele foi iniciado executando os comandos descritos em Comandos de serviço do Data Movement gateway

Porta

A porta 443 do firewall precisa ser aberta para comunicação de saída.

Tipos de dados

A tabela a seguir mostra os tipos de dados do Databricks que são suportados durante o uso do Qlik Cloud e o mapeamento padrão dos tipos de dados do Qlik Cloud.

As informações do tipo de dados nativo são preservadas e exibidas na coluna Tipo de dados nativo nas visualizações do conjunto de dados. Se a coluna não estiver visível, será necessário abrir o seletor de colunas da visualização do conjunto de dados e selecionar a coluna Tipo de dados nativo.

Tipos de dados suportados
Tipos de dados do Qlik Cloud Tipos de dados do Databricks

BOOLEAN

BOOLEAN

BYTES

STRING

DATE

DATE

TIME

STRING

DATETIME

TIMESTAMP

INT1

TINYINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

DECIMAL (precisão, escala)

REAL4

FLOAT

REAL8

DOUBLE

UINT1

SMALLINT

UINT2

INT

UINT4

BIGINT

UINT8

DECIMAL (20, 0)

STRING

VARCHAR (comprimento em bytes)

WSTRING

VARCHAR (comprimento em bytes)

BLOB

STRING

NCLOB

STRING

CLOB

STRING

Os seguintes tipos de dados são convertidos em STRING(255):

  • MAP

  • ARRAY

  • STRUCT

Limitações e considerações

  • Ao usar Databricks na AWS com tabelas sem chave primária, o recarregamento das tabelas na aterrisagem falhará no aplicativo Armazenamento. Para resolver isso, você pode

    • Definir uma chave primária nas tabelas.

    • Definir spark.databricks.delta.alterTable.rename.enabledOnAWS como True no Databricks.

    • Ao criar uma transformação baseada em SQL, todos os campos VARCHAR são retornados como STRING(255).

Esta página ajudou?

Se você encontrar algum problema com esta página ou seu conteúdo - um erro de digitação, uma etapa ausente ou um erro técnico - informe-nos como podemos melhorar!