Los scripts SQL le permiten escribir y ejecutar comandos CALL, así como sentencias DDL, DQL y DML directamente en Development Console, sin necesidad de desplegar un job. Utilice los scripts para configurar catálogos y tablas, ejecutar consultas y gestionar tablas de Apache Paimon.
Conceptos clave
Tipos de sentencias
Los scripts admiten tres categorías de sentencias SQL, cada una con un propósito distinto:
|
Tipo |
Propósito |
Ejemplos |
|
DDL (Data Definition Language) |
Modificar metadatos: agregar, cambiar o eliminar objetos como catálogos y tablas. |
|
|
DML (Data Manipulation Language) |
Cambiar datos en las tablas. |
|
|
DQL (Data Query Language) |
Leer y consultar datos. |
|
Los scripts también son compatibles con el comando CALL y la sentencia EXPLAIN. Use EXPLAIN para consultar el plan de ejecución de una sentencia y solucionar problemas.
La ejecución directa de sentencias DDL o DML puede afectar sus metadatos o datos. Revise las sentencias detenidamente antes de ejecutarlas.
Modos de ejecución
Los scripts se ejecutan en modo por lotes o en modo streaming. Elija el modo según su origen de datos:
|
Modo |
Tamaño de datos |
Cuándo usarlo |
|
Por lotes |
Acotado (fijo, finito) |
Para ejecutar consultas sobre un conjunto de datos estático; es más rápido para orígenes acotados. |
|
Streaming |
Acotado o no acotado (continuo, infinito) |
Para procesar flujos de datos en tiempo real u orígenes sin un final definido. |
Para cambiar al modo streaming, agregue una sentencia SET antes de su consulta:
SET 'execution.runtime-mode' = 'streaming';
Los scripts no admiten variables .
Guardado automático
Los scripts se guardan automáticamente cada minuto. Para guardarlos manualmente, haga clic en Save en la esquina superior derecha y especifique un nombre de archivo y una ubicación de almacenamiento.
Requisitos previos
Antes de empezar, asegúrese de contar con lo siguiente:
Acceso a un workspace de Realtime Compute for Apache Flink
Un clúster de sesión que ejecute Ververica Runtime (VVR) 8.0.4 o posterior. Si no existe ninguno, create a session cluster.
Crear y ejecutar un script
Inicie sesión en la consola de Realtime Compute for Apache Flink.
En la columna Actions de su workspace, haga clic en Console.
En Development Console, vaya a Development > Scripts y haga clic en la pestaña Scripts.
Haga clic en
para crear un script.-
Introduzca sus sentencias SQL. El siguiente ejemplo crea un catálogo de MySQL y consulta una tabla en 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 obtener todos los detalles sobre cómo crear un catálogo de MySQL, consulte Create a MySQL catalog.
En la esquina inferior derecha, haga clic en Environment y seleccione un clúster de sesión que ejecute VVR 8.0.4 o posterior.
Seleccione la sentencia o sentencias que desea ejecutar y luego haga clic en Run a la izquierda de la selección.
(Opcional) Haga clic en Save en la esquina superior derecha y especifique un nombre de archivo y una ubicación de almacenamiento.
Preguntas frecuentes
¿Por qué obtengo el error "Querying an unbounded table 'XXX' in batch mode is not allowed"?
La tabla de origen es un flujo no acotado, es decir, no tiene un final definido. El modo por lotes solo funciona con conjuntos de datos acotados (finitos). Agregue una sentencia SET antes de su consulta para cambiar al modo streaming:
SET 'execution.runtime-mode' = 'streaming';