日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

SQL腳本

SQL腳本是自定義SQL組件,您可以通過SQL腳本編輯器編寫SQL語句,并提交至MaxCompute執行。本文為您介紹SQL腳本的組件配置和使用場景。

組件配置

Designer僅支持通過可視化方式,配置SQL腳本組件的參數,組件參數配置如下所示。

參數

描述

使用Script模式

Script模式下,需要用戶自己創建輸出表,表名指定為${o1}可作為節點端口輸出。更多信息,請參見SQL腳本模式。

輸入源

展示上游輸入的表名。

是否由系統添加Create Table語句

  • 選中是否由系統添加Create Table語句復選框,則SQL腳本的最后一行SQL語句必須為Select語句,PAI會自動創建一個臨時表,用來存儲Select語句查詢的結果。

  • 取消選中是否由系統添加Create Table語句復選框,您需要自己在SQL語句中創建數據表${o1},作為向下游傳遞的數據表。

SQL腳本

您可以自定義待實現功能的SQL腳本,SQL語句具體語法,詳情請參見SQL概述

在代碼編輯器界面,SQL腳本支持自動補全代碼(智能推薦關鍵字代碼)、內置查詢模板等功能,幫助您快速編寫代碼,提升開發效率,詳情請參見代碼開發提效

SQL腳本組件的使用說明:

  • SQL腳本組件支持0~4個輸入,1個輸出。

  • 如果SQL腳本組件接入了上游表,輸入源已自動映射成t1~t4,您可以直接調用${t1}${t2}、${t3}${t4},不用寫入源表名。

  • SQL腳本組件支持1個輸出,您可以在SQL語句中使用${o1}代替輸出數據表。

  • 您可以在SQL語句中,使用${lifecycle}參數自動獲取當前工作空間設置的臨時表生命周期,默認為28天。

    說明

    如果您在SQL語句中自行創建了數據表,請按需設置臨時表的生命周期,詳情請參見設置工作空間臨時表清理時間。

  • 如果您在可視化參數配置中選中了是否由系統添加Create Table語句復選框,SQL腳本的中間位置可以配置任意的SQL語句,但是最后一句必須為Select語句,PAI會自動創建一個臨時表,用來存儲Select語句查詢的結果。

使用場景

SQL腳本組件支持以下使用場景。

場景1:SQL腳本組件從單個上游表讀取數據后做一些分析

選中是否由系統添加Create Table語句復選框,PAI會自動創建一個以pai_temp開頭的臨時表作為輸出傳遞給下游。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};

image

場景2:SQL腳本組件從多個上游表讀取數據做聯合分析

取消選中是否由系統添加Create Table語句復選框,通過變量${o1}${lifecycle}創建一個臨時表作為輸出。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;

image

場景3:SQL腳本組件無上游輸入,直接通過表名讀取源表內容

取消選中是否由系統添加Create Table語句復選框,通過變量${o1}${lifecycle}來創建一個臨時表作為輸出。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};

其中SQL腳本開始位置通過set語句設置執行環境變量。image

場景4:在SQL腳本組件中執行PAI命令

取消選中是否由系統添加Create Table語句復選框,通過變量${o1}${lifecycle}來創建一個臨時表作為輸出。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";

image