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:
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.