El componente SQL Script permite escribir instrucciones SQL personalizadas y ejecutarlas en MaxCompute. Este tema describe la configuración del componente y sus casos de uso.
Configuración del componente
En Machine Learning Designer, configure los parámetros del componente SQL Script en su pestaña de configuración.
|
Parámetro |
Descripción |
|
Use script mode |
En modo script, debe crear una tabla de salida llamada ${o1} que funcione como puerto de salida del nodo. Para obtener más información, consulte SQL Script Mode. |
|
Input source |
Muestra los nombres de las tablas de entrada anteriores. |
|
Whether the system adds a Create Table statement |
|
|
SQL Script |
Escriba un script SQL personalizado para implementar su lógica. Para obtener más información sobre la sintaxis SQL, consulte SQL Overview. El editor de código ofrece funciones como autocompletado (con sugerencias inteligentes de palabras clave) y plantillas de consulta integradas para acelerar la escritura de código. Para obtener más información, consulte Improve code development efficiency. |
El componente SQL Script admite de cero a cuatro entradas y una salida.
Cuando el componente SQL Script se conecta a tablas anteriores, asigna automáticamente las fuentes de entrada a t1, t2, t3 y t4. Use las variables ${t1}, ${t2}, ${t3} o ${t4} para hacer referencia directa a estas tablas sin especificar sus nombres de origen.
El componente SQL Script admite una única salida. Use la variable ${o1} en su instrucción SQL para representar la tabla de datos de salida.
-
Use el parámetro ${lifecycle} en sus instrucciones SQL para aplicar el ciclo de vida predeterminado de tablas temporales configurado para el espacio de trabajo. El valor predeterminado es de 28 días.
NotaSi crea una tabla de datos en su instrucción SQL, establezca el ciclo de vida de la tabla temporal según sea necesario. Para obtener más información, consulte Set the cleanup time for temporary tables in a workspace.
Si selecciona la casilla Whether the system adds a Create Table statement en el panel de configuración de parámetros, puede incluir otras instrucciones SQL en el script, pero la última debe ser una instrucción Select. PAI crea automáticamente una tabla temporal para almacenar los resultados de la consulta.
Casos de uso
El componente SQL Script admite los siguientes casos de uso.
Escenario 1: Análisis de datos de una sola tabla anterior
Seleccione la casilla Whether the system adds a Create Table statement. PAI crea automáticamente una tabla temporal como salida y la transfiere a los componentes posteriores. A continuación se muestra un ejemplo del script SQL:
select age,
(case sex when 'male' then 1 else 0 end) as sex,
(case cp when 'angina' then 0 when 'notang' then 1 else 2 end) as cp,
trestbps,
chol,
(case fbs when 'true' then 1 else 0 end) as fbs,
(case restecg when 'norm' then 0 when 'abn' then 1 else 2 end) as restecg,
thalach,
(case exang when 'true' then 1 else 0 end) as exang,
oldpeak,
(case slop when 'up' then 0 when 'flat' then 1 else 2 end) as slop,
ca,
(case thal when 'norm' then 0 when 'fix' then 1 else 2 end) as thal,
(case status when 'sick' then 1 else 0 end) as ifHealth
from ${t1};
En el panel de componentes, busque SQL Script y arrastre el componente SQL Script al lienzo. Conecte la salida del componente Read Data Table-1 a la entrada del componente SQL Script-1.
Escenario 2: Combinación de datos de varias tablas anteriores
Desmarque la casilla Whether the system adds a Create Table statement. Use las variables ${o1} y ${lifecycle} para crear una tabla temporal como salida. A continuación se muestra un ejemplo del script SQL:
create table if not exists ${o1} lifecycle ${lifecycle}
as
with
a as (select * from ${t1}),
b as (select * from ${t2}),
c as (select * from ${t3})
select * from a
UNION all
select * from b
UNION all
select * from c;
En el panel de componentes, busque SQL Script y arrástrelo al lienzo. Conecte tres nodos Read Data Table al nodo SQL Script. En el panel de configuración de parámetros, asigne las fuentes de entrada de la siguiente manera: t1 a Read Data Table-1, t2 a Read Data Table-2 y t3 a Read Data Table-3.
Escenario 3: Lectura de datos por nombre de tabla
Desmarque la casilla Whether the system adds a Create Table statement. Use las variables ${o1} y ${lifecycle} para crear una tabla temporal como salida. A continuación se muestra un ejemplo del script SQL:
set odps.sql.mapper.split.size=128;
set odps.sql.executionengine.batch.rowcount=100;
drop table if exists test_a_5_1;
create table test_a_5_1
as
select * from pai_online_project.wumai_data;
drop table if exists test_a_5_2;
create table test_a_5_2
as
select * from pai_online_project.wumai_data;
create table if not exists ${o1}
LIFECYCLE ${lifecycle}
as
select a.pm2, a.pm10, a.so2, b.co, b.no2
from
test_a_5_1 a join test_a_5_2 b
on a.time = b.time
and a.hour = b.hour;
select * from ${o1};
Las instrucciones set al inicio del script SQL configuran las variables del entorno de ejecución.
Escenario 4: Ejecución de un comando de PAI
Desmarque la casilla Whether the system adds a Create Table statement. Use las variables ${o1} y ${lifecycle} para crear una tabla temporal como salida. A continuación se muestra un ejemplo del script SQL:
drop table if exists ${o1};
PAI -name type_transform_v1 -project algo_public
-Dlifecycle=${lifecycle} -DoutputTable=${o1}
-Dcols_to_double="time,hour,pm2,pm10,so2,co,no2"
-Ddefault_double_value="0.0" -Ddefault_int_value="0"
-DreserveOldFeat="false" -DinputTable="pai_online_project.wumai_data";