Os scripts SQL permitem escrever e executar comandos CALL e instruções DDL, DQL e DML diretamente no Development Console, sem implantar um job. Use scripts para configurar catálogos e tabelas, executar consultas e gerenciar tabelas do Apache Paimon.
Conceitos principais
Tipos de instrução
Os scripts suportam três categorias de instruções SQL, cada uma com uma finalidade específica:
|
Tipo |
Finalidade |
Exemplos |
|
DDL (Data Definition Language) |
Modificar metadados: adicionar, alterar ou excluir objetos como catálogos e tabelas. |
|
|
DML (Data Manipulation Language) |
Alterar dados nas tabelas. |
|
|
DQL (Data Query Language) |
Ler e consultar dados. |
|
Os scripts também suportam o comando CALL e a instrução EXPLAIN. Use EXPLAIN para visualizar o plano de execução de uma instrução e solucionar problemas.
Executar instruções DDL ou DML diretamente pode afetar seus metadados ou dados. Revise as instruções cuidadosamente antes da execução.
Modos de execução
Os scripts são executados em modo batch ou streaming. Escolha o modo adequado com base na sua source de dados:
|
Modo |
Tamanho dos dados |
Quando usar |
|
Batch |
Limitado (fixo, finito) |
Para consultas em conjuntos de dados estáticos; mais rápido para sources limitadas |
|
Streaming |
Limitado ou ilimitado (contínuo, infinito) |
Para processamento de fluxos de dados em tempo real ou sources sem fim definido |
Para alternar para o modo streaming, adicione uma instrução SET antes da consulta:
SET 'execution.runtime-mode' = 'streaming';
Os scripts não suportam variáveis .
Salvamento automático
Os scripts são salvos automaticamente a cada minuto. Para salvar manualmente, clique em Save no canto superior direito e especifique o nome e o local de armazenamento do arquivo.
Pré-requisitos
Antes de começar, verifique se você tem:
Acesso a um workspace do Realtime Compute for Apache Flink
Um cluster de sessão executando Ververica Runtime (VVR) 8.0.4 ou posterior. Se não houver nenhum, crie um cluster de sessão.
Criar e executar um script
Faça login no console do Realtime Compute for Apache Flink.
Na coluna Actions do seu workspace, clique em Console.
No Development Console, acesse Development > Scripts e clique na aba Scripts.
Clique em
para criar um script.-
Insira suas instruções SQL. O exemplo a seguir cria um catálogo MySQL e consulta uma tabela no modo streaming:
-- Create a MySQL catalog -- For parameter details, see: Create a MySQL catalog CREATE CATALOG mysql_catalog WITH( 'type' = 'mysql', 'hostname' = 'rm-bp1x********.mysql.rds.aliyuncs.com', 'port' = '3306', 'username' = 'db_user', 'password' = '${secret_values.mysqlpw}', 'default-database' = 'flinktest' ); -- Switch to streaming mode to query an unbounded source SET 'execution.runtime-mode' = 'streaming'; SELECT * FROM `mysql_catalog`.flinktest.orders;Para obter detalhes completos sobre como criar um catálogo MySQL, consulte Criar um catálogo MySQL.
No canto inferior direito, clique em Environment e selecione um cluster de sessão que execute VVR 8.0.4 ou posterior.
Selecione as instruções a serem executadas e clique em Run à esquerda da seleção.
(Opcional) Clique em Save no canto superior direito e especifique o nome e o local de armazenamento do arquivo.
Perguntas frequentes
Por que recebo o erro "Querying an unbounded table 'XXX' in batch mode is not allowed"?
A tabela de source é um fluxo ilimitado, ou seja, não possui fim definido. O modo batch funciona apenas com conjuntos de dados limitados (finitos). Adicione uma instrução SET antes da consulta para alternar para o modo streaming:
SET 'execution.runtime-mode' = 'streaming';