Conectar ao Apache Cassandra

Informações do conceito

Comando ACCESSDATA

O Apache Cassandra é um sistema de gerenciamento de banco de dados NoSQL. Use o conector de dados do Apache Cassandra para importar dados da sua organização residentes no Cassandra.

Nota

O Analytics oferece o Cassandra como um conector opcional. Se esse conector não estiver disponível na janela Acesso a dados, é provável que o coletor não tenha sido selecionado durante a instalação. Para obter mais informações, consulte Instale opcionalmente os conectores de dados do Analytics e o mecanismo do Python.

Antes de começar

Para conectar-se ao Cassandra, você deve obter:

  • o nome ou endereço IP do host do servidor de banco de dados
  • a porta de conexão correta
  • nome do usuário e senha, se usar autenticação

Para obter ajuda na coleta dos pré-requisitos de conexão, entre em contato com o administrador do Cassandra na sua organização. Se o administrador não conseguir ajudá-lo, você ou o administrador deve entrar em contato com o suporte da Cassandra.

Criar uma conexão ao Cassandra

  1. No menu principal do Analytics, selecione Importar > Banco de dados e aplicativo.
  2. Na guia Novas conexões, na seção Conectores do ACL, selecione seu conector Cassandra.

    Dica

    Você pode filtrar a lista de conectores disponíveis inserindo uma cadeia de pesquisa na caixa Filtrar conexões. Os conectores são listados em ordem alfabética.

  3. No painel Configurações de Conexão de Dados, insira as configurações da conexão e clique em Salvar e conectar na parte inferior do painel.

    Você pode aceitar o Nome de conexão padrão ou inserir um novo nome.

A conexão do Cassandra é salva na guia Conexões existentes. No futuro, você poderá reconectar o Cassandra usando a conexão salva.

Após estabelecer a conexão, a janela Acesso a Dados abre na Área de preparação e você pode começar a importar dados. Para obter ajuda na importação de dados do Cassandra, consulte Trabalho com a Janela de Acesso a Dados.

Configurações de conexão

Configurações básicas

Configuração Descrição Exemplo
Host

O endereço IP ou nome do host do servidor do Cassandra.

 

Porta A porta TCP para o banco de dados Cassandra. 9042
Espaço de chaves padrão O espaço de chaves (esquema) padrão a ser conectado no Cassandra.  
Mecanismo de autenticação

O mecanismo de autenticação a ser usado para conexão ao servidor do Cassandra. As opções disponíveis são as seguintes:

  • Sem autenticação
  • Nome do usuário e senha
Sem autenticação
Nome do usuário O nome do usuário a ser usado para acessar o servidor do Cassandra.  
Senha A senha correspondente ao nome de usuário fornecido.  

Configurações avançadas

Configuração Descrição Exemplo
Modo de consulta

Especifica o modo de consulta a ser usado ao enviar consultas para o Cassandra. As opções disponíveis são:

  • SQL - Usa SQL_QUERY_MODE e executa todas as consultas no SQL.
  • CQL - Usa CQL_QUERY_MODE e executa todas as consultas no CQL.
  • SQL com uso de CQL, se necessário - Usa SQL_WITH_CQL_FALLBACK_QUERY_MODE e executa todas as consultas no SQL por padrão. Se uma consulta falhar, o driver executará a consulta no CQL.
SQL com uso de CQL, se necessário
Consistência ajustável A réplica específica ou o número de réplicas do Cassandra que devem processar uma consulta para que ela seja bem-sucedida. ONE
Política de balanceamento de carga Especifica a política de balanceamento de carga a ser usada.  
Comprimento da coluna de binários O comprimento de coluna padrão a ser informado para colunas BLOB. 4000
Comprimento da coluna de cadeia O comprimento de coluna padrão a ser informado para colunas ASCII, TEXT e VARCHAR. 4000
Separador do nome da tabela virtual O separador para nomear uma tabela virtual criada a partir de uma coleção.
O nome da tabela virtual consiste em nome da tabela original, separador e nome da coleção.
_vt_
Ativar percepção de token Especifica se uma política ***** com tokens deve ser usada para aprimorar o balanceamento de carga e a latência.  
Ativar percepção de latência Especifica se o driver deve usar um algoritmo de latência para distribuir a carga para nós com melhor desempenho.  
Ativar inserção de valores nulos Especifica se o driver deve inserir todos os valores NULL conforme especificado nas instruções INSERT.  
Ativar diferenciação de maiúsculas e minúsculas

Especifica se o driver diferencia entre letras maiúsculas e minúsculas em nomes de esquemas, tabelas e colunas.

Se essa opção for habilitada, todos os esquemas, tabelas e colunas deverão ter aspas duplas (").

 
Usar SQL_WVARCHAR para tipo de dados de cadeia Especifica se SQL_WVARCHAR deve ser usado para tipos de texto e varchar.  
Ativar paginação Especifica se grandes conjuntos de resultados devem ser divididos em páginas.  
Linhas por página Quando a opção Ativar paginação estiver habilitada, use esta opção para especificar o número máximo de linhas a serem exibidas em cada página. 10000
Opções de SSL

Especifica como o driver usa SSL para conectar-se ao servidor do Cassandra. As opções disponíveis são:

  • Sem SSL - O driver não usa SSL.
  • Verificação unidirecional de servidor - se a opção Ativar verificação de hostname de servidor estiver ativada, o cliente verificará o servidor Cassandra usando SSL. Caso contrário, o driver se conectará ao servidor do Cassandra usando SSL, mas o cliente e o servidor não se verificarão entre si.

  • Verificação bidirecional de servidor e cliente - se a opção Ativar verificação de hostname de servidor estiver ativada, o cliente e o servidor do Cassandra verificarão um ao outro usando SSL. Caso contrário, o driver se conectará ao servidor do Cassandra usando SSL, mas o cliente e o servidor não se verificarão entre si.

Sem SSL
Ativar verificação de hostname de servidor Especifica se o driver exige que o nome do host do servidor corresponda ao nome do host no certificado SSL.  
Ssltrustedcertspath O caminho completo para o arquivo .pem que contém o certificado para verificação do servidor.  
Certificado do lado do cliente O caminho completo para o arquivo .pem que contém o certificado para verificação do cliente.  
Chave privada do lado do cliente O caminho completo para o arquivo .pem que contém a chave privada usada para verificar o cliente.  
Senha do arquivo de chave A senha do arquivo de chave privada especificada no campo de chave privada do lado do cliente.  

Consultar o Cassandra

Uma vantagem do projeto do Apache Cassandra é a capacidade de armazenar dados desnormalizados em um número menor de tabelas. É possível simplificar as transações aproveitando estruturas de dados aninhados, como conjuntos, listas e mapas. No entanto, o Analytics não permite o acesso a esse tipo de dados. Com a renormalização dos dados contidos em coleções (conjuntos, listas e mapas) em tabelas virtuais, o conector permite que os usuários interajam diretamente com os dados, com o Cassandra se encarregando do armazenamento desses dados na forma desnormalizada.

Se uma tabela contiver colunas de coleções, na primeira consulta da tabela, o conector criará as seguintes tabelas virtuais:

  • Uma tabela "base", que contém os mesmos dados da tabela real, exceto pelas colunas de coleções.
  • Uma tabela virtual para cada coluna de coleção, que expande os dados aninhados.

As tabelas virtuais fazem referência aos dados na tabela real, permitindo que o conector acesse os dados desnormalizados. Ao consultar as tabelas virtuais, você pode acessar o conteúdo das coleções do Cassandra usando ODBC.

A tabela base e as tabelas virtuais aparecem como tabelas adicionais na lista de tabelas existentes no banco de dados. A tabela base usa o mesmo nome da tabela real que representa. As tabelas virtuais que representam coleções são nomeadas usando o nome da tabela real, um separador (por padrão, _vt_) e o nome da coluna.

Exemplo

A TabelaExemplo é uma tabela do banco de dados Cassandra que contém uma coluna de chave primária do tipo inteiro denominada cp_int, uma coluna de lista, uma coluna de mapa e uma coluna de conjunto (denominada ConjuntoCadeias).

Tabela de origem com coleções

cp_int Lista Mapa ConjuntoCadeias
1 ["1","2","3"] {"S1" : "a", "S2" : "b"} {"a", "b", "c"}
3 ["100","101","102","105"] {"S1" : "t"} {"a","e"}

O conector gera várias tabelas virtuais para representar essa única tabela. A primeira tabela virtual é a tabela base:

Tabela base

cp_int
1
3

A tabela base contém os mesmos dados da tabela de banco de dados original, exceto as coleções, que são omitidas dessa tabela e expandidas em outras tabelas virtuais.

As tabelas a seguir mostram as tabelas virtuais que renormalizam os dados das colunas Lista, Mapa e ConjuntoCadeias:

Lista

cp_int Lista#índice Lista#valor
1 0 1
1 1 2
1 2 3
3 0 100
3 1 101
3 2 102
3 3 105

Mapa

cp_int Mapa#chave Mapa#valor
1 S1 a
1 S2 bi
3 S1 tri

ConjuntoCadeias

cp_int ConjuntoCadeias#valor
1 a
1 bi
1 c
3 a
3 e

As colunas de chave estrangeira nas tabelas virtuais fazem referência às colunas de chave primária na tabela real e indicam a correspondência entre a linha da tabela virtual e a linha da tabela real. As colunas com nomes terminados em #índice ou #chave indicam a posição dos dados dentro da lista ou mapa original. As colunas com nomes terminados em #valor contêm os dados expandidos da coleção.

Atualizações de conector de dados

Quando atualiza o Analytics ou o Agente do Robôs, você deve testar todos os scripts que importam dados usando um dos conectores de dados do Analytics (comando ACCESSDATA).

É possível que alterações feitas por fornecedores externos de fontes de dados ou drivers ODBC exigiram atualizações em um ou mais conectores de dados. Pode ser necessário atualizar as conexões de dados com script para que continuem a funcionar corretamente.

  • Execute novamente a importação A maneira mais fácil de atualizar uma conexão é executar manualmente uma importação usando a janela Acesso a Dados na versão atualizada do Analytics. Copie o comando ACCESSDATA do log e use-o para atualizar o script.

    Nota

    Antes de se conectar a uma fonte de dados e executar novamente a importação, limpe o cache do conector para remover o conjunto existente de nomes de tabelas.

    Na guia Conexões existentes na janela Acesso a Dados, ao lado do nome do conector, selecione > Limpar cache.

  • Atualize as especificações de campos Também pode ser necessário atualizar as especificações de campos no corpo do script para compatibilizá-lo com as alterações do esquema da tabela na fonte de dados ou no driver ODBC. As possíveis alterações incluem nomes de campos, tipos de dados de campos e comprimentos de campos e registro.
  • Verifique os resultados de todas as filtragens Você também deve verificar os resultados de qualquer filtragem aplicada durante a importação de dados. Confirme se a filtragem de importação está incluindo e excluindo corretamente os registros.

Alterações do conector de dados do Apache Cassandra

As alterações específicas efetuadas no conector de dados do Apache Cassandra são listadas a seguir.

Versão do Analytics Alteração

14.2

O conector não é mais compatível com o Apache Cassandra 2.0.

As conexões podem ser efetuadas com o Apache Cassandra nas versões 2.1, 2.2 e 3.0.