Komponen SQL Script yang disediakan oleh Platform for AI (PAI) memungkinkan Anda menulis pernyataan SQL kustom di editor skrip SQL. Pernyataan tersebut dapat dikirimkan ke MaxCompute untuk dieksekusi. Topik ini menjelaskan cara mengonfigurasi komponen serta skenario penggunaannya.
Konfigurasi Komponen
Komponen SQL Script hanya dapat dikonfigurasi di Machine Learning Designer. Tabel berikut menjelaskan parameter yang digunakan untuk konfigurasi komponen.
Parameter | Deskripsi |
Use Script Mode | Dalam mode Skrip, Anda perlu membuat tabel keluaran. Tentukan nama tabel sebagai ${o1}. Dengan cara ini, sistem dapat menggunakan tabel tersebut sebagai keluaran dari komponen. Untuk informasi lebih lanjut, lihat SQL dalam mode skrip. |
Input Source | Nama tabel masukan. |
Whether the system adds a create table statement |
|
SQL Script | Skrip SQL kustom. Untuk informasi tentang sintaks yang didukung, lihat Ikhtisar MaxCompute SQL. Komponen SQL Script menyediakan fitur penyelesaian otomatis, yang merekomendasikan kata kunci kode, dan template pencarian bawaan untuk membantu Anda meningkatkan produktivitas. Untuk informasi lebih lanjut, lihat Fitur yang meningkatkan efisiensi pengembangan kode. |
Berikut adalah catatan penggunaan untuk komponen SQL Script:
Komponen mendukung hingga empat masukan dan satu keluaran.
Saat menghubungkan komponen hulu dengan komponen ini, port masukan yang dipilih menentukan nama pemetaan tabel masukan, yaitu t1, t2, t3, atau t4. Anda dapat langsung menggunakan variabel ${t1}, ${t2}, ${t3}, ${t4} untuk menentukan tabel masukan tanpa perlu menentukan nama tabel asli.
Anda dapat menggunakan variabel ${o1} dalam skrip SQL untuk menentukan tabel keluaran.
Anda dapat menggunakan variabel ${lifecycle} dalam skrip SQL untuk menentukan siklus hidup tabel sementara di ruang kerja saat ini. Siklus hidup default adalah 28 hari. Untuk informasi lebih lanjut tentang konfigurasi siklus hidup tabel sementara, lihat Kelola ruang kerja.
Jika Anda memilih kotak centang Whether the system adds a create table statement, pastikan bahwa pernyataan terakhir dari skrip SQL yang Anda tentukan adalah pernyataan SELECT. Dalam hal ini, PAI secara otomatis membuat tabel sementara untuk menyimpan hasil kueri dari pernyataan SELECT.
Jika Anda menentukan pernyataan CREATE TABLE dalam skrip SQL untuk membuat tabel sementara, Anda harus mengonfigurasi siklus hidup tabel tersebut. Untuk informasi lebih lanjut, lihat Kelola ruang kerja.
Skenario
Komponen SQL Script dapat digunakan dalam berbagai skenario berikut:
Skenario 1: Komponen skrip SQL membaca data dari satu tabel hulu lalu melakukan beberapa analisis
Dalam kasus ini, PAI secara otomatis membuat tabel sementara dengan nama yang diawali pai_temp sebagai tabel keluaran. Contoh skrip 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};
Skenario 2: Komponen skrip SQL membaca data dari beberapa tabel hulu untuk analisis gabungan
Dalam kasus ini, Anda perlu menggunakan variabel ${o1} dan ${lifecycle} dalam skrip SQL untuk secara manual membuat tabel sementara sebagai tabel keluaran. Contoh skrip 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;
Skenario 3: Komponen skrip SQL tidak memiliki masukan hulu dan langsung membaca isi tabel sumber melalui nama tabel
Dalam kasus ini, Anda perlu menggunakan variabel ${o1} dan ${lifecycle} dalam skrip SQL untuk secara manual membuat tabel sementara sebagai tabel keluaran. Contoh skrip 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};Pernyataan SET di awal skrip SQL digunakan untuk mengonfigurasi variabel lingkungan. 
Skenario 4: Menjalankan perintah PAI dalam komponen skrip SQL
Dalam kasus ini, Anda perlu menggunakan variabel ${o1} dan ${lifecycle} dalam skrip SQL untuk secara manual membuat tabel sementara sebagai tabel keluaran. Contoh skrip 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";