Komponen SQL Script memungkinkan Anda menulis pernyataan SQL kustom dan mengeksekusinya di MaxCompute. Topik ini menjelaskan konfigurasi komponen serta kasus penggunaannya.
Konfigurasi komponen
Di Machine Learning Designer, Anda dapat mengonfigurasi parameter komponen SQL Script pada tab konfigurasinya.
|
Parameter |
Deskripsi |
|
Use script mode |
Dalam mode skrip, Anda harus membuat tabel output bernama ${o1} sebagai port output node. Untuk informasi selengkapnya, lihat SQL Script Mode. |
|
Input source |
Menampilkan nama tabel input hulu. |
|
Whether the system adds a Create Table statement |
|
|
SQL Script |
Anda dapat menulis skrip SQL kustom untuk menerapkan logika Anda. Untuk informasi lebih lanjut mengenai sintaksis SQL, lihat SQL Overview. Editor kode menyediakan fitur seperti penyelesaian kode (dengan saran kata kunci cerdas) dan templat kueri bawaan untuk membantu Anda menulis kode lebih cepat. Untuk informasi selengkapnya, lihat Improve code development efficiency. |
-
Komponen SQL Script mendukung nol hingga empat input dan satu output.
-
Saat komponen SQL Script dihubungkan ke tabel hulu, komponen tersebut secara otomatis memetakan sumber input ke t1, t2, t3, dan t4. Anda dapat menggunakan variabel ${t1}, ${t2}, ${t3}, atau ${t4} untuk mereferensikan tabel-tabel tersebut secara langsung tanpa menyebutkan nama tabel sumbernya.
-
Komponen SQL Script mendukung satu output. Anda dapat menggunakan variabel ${o1} dalam pernyataan SQL untuk merepresentasikan tabel data output.
-
Anda dapat menggunakan parameter ${lifecycle} dalam pernyataan SQL untuk menerapkan siklus hidup tabel temporary default yang dikonfigurasi untuk ruang kerja. Nilai default-nya adalah 28 hari.
CatatanJika Anda membuat tabel data dalam pernyataan SQL, atur siklus hidup tabel temporary sesuai kebutuhan. Untuk informasi selengkapnya, lihat Set the cleanup time for temporary tables in a workspace.
-
Jika Anda memilih kotak centang Whether the system adds a Create Table statement di panel konfigurasi parameter, Anda dapat menyertakan pernyataan SQL lain dalam skrip, tetapi pernyataan terakhir harus berupa pernyataan Select. PAI secara otomatis membuat tabel temporary untuk menyimpan hasil kueri.
Kasus penggunaan
Komponen SQL Script mendukung kasus penggunaan berikut.
Skenario 1: Analisis data dari satu tabel hulu
Pilih kotak centang Whether the system adds a Create Table statement. PAI secara otomatis membuat tabel temporary sebagai output dan meneruskannya ke komponen hilir. Kode berikut merupakan 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};
Di panel komponen, cari SQL Script lalu seret komponen SQL Script ke kanvas. Hubungkan output komponen Read Data Table-1 ke input komponen SQL Script-1.
Skenario 2: Gabungkan data dari beberapa tabel hulu
Kosongkan kotak centang Whether the system adds a Create Table statement. Gunakan variabel ${o1} dan ${lifecycle} untuk membuat tabel temporary sebagai output. Kode berikut merupakan 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;
Di panel komponen, cari SQL Script dan seret ke kanvas. Hubungkan tiga node Read Data Table ke node SQL Script. Di panel pengaturan parameter, petakan sumber input sebagai berikut: t1 ke Read Data Table-1, t2 ke Read Data Table-2, dan t3 ke Read Data Table-3.
Skenario 3: Baca data berdasarkan nama tabel
Kosongkan kotak centang Whether the system adds a Create Table statement. Gunakan variabel ${o1} dan ${lifecycle} untuk membuat tabel temporary sebagai output. Kode berikut merupakan 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 mengonfigurasi variabel lingkungan eksekusi.
Skenario 4: Jalankan perintah PAI
Kosongkan kotak centang Whether the system adds a Create Table statement. Gunakan variabel ${o1} dan ${lifecycle} untuk membuat tabel temporary sebagai output. Kode berikut merupakan 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";