O componente SQL Script permite escrever instruções SQL personalizadas e executá-las no MaxCompute. Este tópico descreve a configuração do componente e seus casos de uso.
Configuração do componente
No Machine Learning Designer, configure os parâmetros do componente SQL Script na guia de configuração correspondente.
|
Parâmetro |
Descrição |
|
Use script mode |
No modo script, crie uma tabela de saída chamada ${o1} para servir como porta de saída do nó. Para mais informações, consulte Modo de Script SQL. |
|
Input source |
Exibe os nomes das tabelas de entrada upstream. |
|
Whether the system adds a Create Table statement |
|
|
SQL Script |
Escreva um script SQL personalizado para implementar sua lógica. Para obter mais detalhes sobre a sintaxe SQL, consulte Visão Geral do SQL. O editor de código oferece recursos como conclusão de código (com sugestões inteligentes de palavras-chave) e modelos de consulta integrados para acelerar o desenvolvimento. Para mais informações, veja Melhorar a eficiência do desenvolvimento de código. |
O componente SQL Script aceita de zero a quatro entradas e gera uma única saída.
Ao conectar o componente SQL Script a tabelas upstream, o sistema mapeia automaticamente as fontes de entrada para t1, t2, t3 e t4. Use as variáveis ${t1}, ${t2}, ${t3} ou ${t4} para referenciar essas tabelas diretamente, sem especificar os nomes das tabelas de origem.
O componente suporta apenas uma saída. Use a variável ${o1} na instrução SQL para representar a tabela de dados de saída.
-
Use o parâmetro ${lifecycle} nas instruções SQL para aplicar o ciclo de vida padrão da tabela temporária configurado para o workspace. O valor padrão é 28 dias.
NotaSe criar uma tabela de dados na instrução SQL, defina o ciclo de vida da tabela temporária conforme necessário. Para mais detalhes, consulte Definir o tempo de limpeza para tabelas temporárias em um workspace.
Se a caixa de seleção Whether the system adds a Create Table statement estiver marcada no painel de configuração de parâmetros, o script poderá conter outras instruções SQL, desde que a última seja uma instrução Select. O PAI cria automaticamente uma tabela temporária para armazenar os resultados da consulta.
Casos de uso
O componente SQL Script atende aos seguintes cenários.
Cenário 1: Analisar dados de uma única tabela upstream
Marque a caixa de seleção Whether the system adds a Create Table statement. O PAI cria automaticamente uma tabela temporária como saída e a transfere para os componentes downstream. O código abaixo exemplifica o 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};
No painel de componentes, pesquise por SQL Script e arraste o componente SQL Script para a tela. Conecte a saída do componente Read Data Table-1 à entrada do componente SQL Script-1.
Cenário 2: Combinar dados de várias tabelas upstream
Desmarque a caixa de seleção Whether the system adds a Create Table statement. Use as variáveis ${o1} e ${lifecycle} para criar uma tabela temporária como saída. Veja a seguir um exemplo de 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;
Pesquise por SQL Script no painel de componentes e arraste-o para a tela. Conecte três nós Read Data Table ao nó SQL Script. No painel de configurações de parâmetros, mapeie as fontes de entrada da seguinte forma: t1 para Read Data Table-1, t2 para Read Data Table-2 e t3 para Read Data Table-3.
Cenário 3: Ler dados pelo nome da tabela
Desmarque a caixa de seleção Whether the system adds a Create Table statement. Crie uma tabela temporária como saída usando as variáveis ${o1} e ${lifecycle}. O exemplo abaixo ilustra um script SQL para este caso:
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};
As instruções set no início do script SQL definem as variáveis de ambiente de execução.
Cenário 4: Executar um comando PAI
Desmarque a caixa de seleção Whether the system adds a Create Table statement. Use as variáveis ${o1} e ${lifecycle} para criar uma tabela temporária como saída. Confira abaixo um exemplo de 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";