Fonte cqlsh

Fonte cqlsh
Se você usou MySQL e bancos de dados relacionados, provavelmente está familiarizado com o modo de lote SQL.

Este modo permite especificar um conjunto de instruções SQL dentro de um arquivo de texto. Você pode carregar o arquivo no servidor e permitir que as instruções definidas no arquivo sejam executadas sequencialmente.

O modo de lote é muito útil, especialmente ao automatizar uma tarefa SQL específica em vários servidores.

No Apache Cassandra, você tem dois métodos para executar várias instruções simultaneamente:

  • O primeiro é chamado de "execução em lote", que difere do modo de lote SQL.
  • O segundo é o comando de origem, que é semelhante ao modo de lote SQL. Este comando permite definir um conjunto de instruções CQL em um arquivo e carregá -las no servidor.

Os comandos no arquivo serão executados e a saída correspondente será exibida na saída padrão.

Vamos explorar como podemos usar esta função.

Sintaxe de comando

A seguir, mostra a sintaxe do comando:

Fonte 'nome do arquivo'

O comando aceita o caminho para o arquivo que você deseja executar como o parâmetro. Lembre -se de que o caminho do arquivo deve ser um caminho relativo. Caminhos absolutos não são suportados. Também é bom incluir o caminho do arquivo nas aspas.

Crie script CQL

O primeiro passo é criar um script contendo um conjunto de instruções CQL.

Para fins de ilustração, criaremos um espaço de chave, mudaremos para o espaço de chave criado, criaremos uma tabela e inseriremos dados de amostra. Também habilitaremos o modo de expansão CQLSH e selecionaremos todas as linhas da tabela criada.

Comece criando um arquivo CQL:

$ touch ~/documentos/script.CQL

Em seguida, podemos adicionar as instruções que desejamos executar ao arquivo, como mostrado abaixo:

soltar o espaço de chave se existir zero_day;
Crie o espaço de chave Zero_Day
com replicação =
'Classe': 'SimpleStrategy',
'Replicação_factor': 1
;
use zero_day;
Crie registros de tabela (
eu não fiz,
texto cve_number,
Data de relatório_date,
texto afetado_vendor,
severidade flutuar,
chave primária (id)
);
Comece o lote
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (1, 'CVE-2021-33852', '2022-12-02', 'WordPress', 6.0);
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (2, 'CVE-2020-14723', '2020-01-11', 'Oracle', 8.2);
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (3, 'CVE-2019-19306', '2019-10-14', 'Zoho', 5.4);
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (4, 'CVE-2021-33850', '2021-10-18', 'Microsoft', 5.0);
Inserir em registros (ID, cve_number, report_date, afetado_vendor, gravidade)
Valores (5, 'CVE-2020-24600', '2020-07-01', 'Shilpi', 8.6);
aplicar lote;
expandir em;
Selecione * de Zero_day.registros;

Salve e feche o arquivo.

Execute o script

Para executar o script, faça login no servidor:

$ cqlsh -u Cassandra -P Cassandra

Por fim, use o comando de origem para executar o script como:

Cassandra@cqlsh> fonte '~/documents/script.CQL ';

A execução do comando anterior carregará as instruções no arquivo de script e retornará a saída (onde disponível) ao shell.

Um exemplo de saída é mostrado abaixo:

Em nosso script, apenas os comandos expandir e selecionar retorna uma saída, como mostrado acima.

Conclusão

Neste post, aprendemos a usar o comando de origem em Cassandra. O comando de origem nos permite definir instruções CQL em um arquivo e executá -las sequencialmente no shell CQL.