天天看點

什麼?你還不會使用DataWorks排程?前提條件操作步驟

看過小編《互動式分析六脈神劍》的朋友們,(傳送門: 《互動式分析六脈神劍》之HoloStudio初體驗

)應該都知道基于互動式分析引擎的一站式開發平台HoloStudio深度內建于Dataworks。在DataWorks的強大功能背景的支援下,經過互動式分析加速查詢的資料(MaxCompute、實時計算),可以通過HoloStudio直接對接到資料服務、排程等子產品,輕松實作大資料的一站式開發對接。

但是,居然有朋友給小編說,還不會使用DataWorks的排程功能?這是小編絕對不允許的。趁着這個機會,今天小編就來為大家講講,HoloStudio中的資料如何在Dataworks中實作周期性排程,搬好闆凳,開課啦!

前提條件

在使用DataWorks之間,請確定已經開通遺下服務并配置好工作空間

操作步驟

步驟1:MaxCompute準備資料源

準備一張MaxCompute源頭資料表,您可以參考

MaxCompute建立表

進行建表,也可以直接從資料地圖中選用一張表。示例選用資料地圖中的已有表,其DDL如下:(資料量約為4萬條)

CREATE TABLE IF NOT EXISTS bank_data_odps
(
 age             BIGINT COMMENT '年齡',
 job             STRING COMMENT '工作類型',
 marital         STRING COMMENT '婚否',
 education       STRING COMMENT '教育程度',
 card         STRING COMMENT '是否有信用卡',
 housing         STRING COMMENT '房貸',
 loan            STRING COMMENT '貸款',
 contact         STRING COMMENT '聯系途徑',
 month           STRING COMMENT '月份',
 day_of_week     STRING COMMENT '星期幾',
 duration        STRING COMMENT '持續時間',
 campaign        BIGINT COMMENT '本次活動聯系的次數',
 pdays           DOUBLE COMMENT '與上一次聯系的時間間隔',
 previous        DOUBLE COMMENT '之前與客戶聯系的次數',
 poutcome        STRING COMMENT '之前市場活動的結果',
 emp_var_rate    DOUBLE COMMENT '就業變化速率',
 cons_price_idx  DOUBLE COMMENT '消費者物價指數',
 cons_conf_idx   DOUBLE COMMENT '消費者信心指數',
 euribor3m       DOUBLE COMMENT '歐元存款利率',
 nr_employed     DOUBLE COMMENT '職勞工數',
 y               BIGINT COMMENT '是否有定期存款'
);           

步驟2:HoloStudio建立資料開發

移步HoloStudio,單擊左側菜單欄中資料開發--建立資料開發,建立一張外部表,用于映射MaxCompute源頭表資料。

輸入SQL指令如下,并單擊儲存,然後單擊左上角前往DataWorks排程,進行排程。

BEGIN;
CREATE FOREIGN TABLE if not EXISTS bank_data_foreign_holo (
 age int8,
 job text,
 marital text,
 education text,
 card text,
 housing text,
 loan text,
 contact text,
 month text,
 day_of_week text,
 duration text,
 campaign int8,
 pdays float8,
 previous float8,
 poutcome text,
 emp_var_rate float8,
 cons_price_idx float8,
 cons_conf_idx float8,
 euribor3m float8,
 nr_employed float8,
 y int8
)
SERVER odps_server
OPTIONS (project_name 'projectname', table_name 'bank_data_odps');
GRANT SELECT ON bank_data_foreign_holo TO PUBLIC;
COMMIT;           
說明:option給定連接配接參數:project_name為MaxCompute項目空間名,table_name為MaxCompute表名

步驟3:外部表排程

跳轉到DataWorks排程頁面之後,配置排程資訊并進行釋出。

建立Hologres開發之後,選中剛建立的開發節點,并單擊更新節點版本,即可将HoloStudio中建立的節點同步至DataWorks,單擊左側排程配置,選中排程依賴,父節點輸出名稱確定為MaxCompute源頭表。排程配置完成之後單擊儲存--送出--釋出,釋出成功後單擊運維中心,前往生産環境釋出。

可根據自己的項目情況配置時間屬性。示例如下

什麼?你還不會使用DataWorks排程?前提條件操作步驟
什麼?你還不會使用DataWorks排程?前提條件操作步驟

進入到生産環境後,,選中釋出的節點,并單擊釋出。

什麼?你還不會使用DataWorks排程?前提條件操作步驟

釋出成功之後,單擊右上角運維中心,進行資料配置。

單擊左側菜單欄周期任務,選中釋出的節點,右鍵單擊補資料--目前節點,即可成功釋出。

什麼?你還不會使用DataWorks排程?前提條件操作步驟

步驟4:HoloStudio建立分區表資料開發

外部表節點釋出完成之後,前往HoloStudio建立分區表資料開發,寫入分區資料。

HoloStudio--資料開發--建立資料開發,輸入SQL指令,單擊運作,并給自定義參數指派,運作成功後,單擊儲存--前往DataWorks排程,示例SQL如下:

什麼?你還不會使用DataWorks排程?前提條件操作步驟
BEGIN;
CREATE TABLE if not EXISTS bank_data_holo (
 age int8,
 job text,
 marital text,
 education text,
 card text,
 housing text,
 loan text,
 contact text,
 month text,
 day_of_week text,
 duration text,
 campaign int8,
 pdays float8,
 previous float8,
 poutcome text,
 emp_var_rate float8,
 cons_price_idx float8,
 cons_conf_idx float8,
 euribor3m float8,
 nr_employed float8,
 y int8,
 ds text NOT NULL
)
PARTITION  BY LIST(ds);
CALL SET_TABLE_PROPERTY('bank_data_holo', 'orientation', 'column');
CALL SET_TABLE_PROPERTY('bank_data_holo', 'time_to_live_in_seconds', '700000');
COMMIT;



create table if not exists bank_data_holo_1_${bizdate} partition of bank_data_holo
  for values in ('${bizdate}');

insert into bank_data_holo_1_${bizdate}
select 
    age as age,
    job as job,
    marital as marital,
    education as education,
    card as card,
     housing as housing,
    loan as loan,
    contact as contact,
    month as month,
    day_of_week as day_of_week,
     duration as duration,
    campaign as campaign,
     pdays as pdays,
    previous as previous,
    poutcome as poutcome,
     emp_var_rate as emp_var_rate,
    cons_price_idx as cons_price_idx,
    cons_conf_idx as cons_conf_idx,
    euribor3m as euribor3m,
    nr_employed as nr_employed,
    y as y,
    '${bizdate}' as ds 
from bank_data_foreign_holo;           

步驟5:分區表排程

跳轉至DataWorks建立資料開發,單擊更新節點版本,将分區表資訊同步同步至該節點,并單擊右側排程配置,将基礎屬性--參數指派為時間節點,排程依賴為剛釋出的外部表,完成之後,單擊儲存--送出--釋出,并前往運維中心進行生産環境釋出。

什麼?你還不會使用DataWorks排程?前提條件操作步驟
什麼?你還不會使用DataWorks排程?前提條件操作步驟

步驟6:釋出并周期性排程資料

DataWorks将開發節點釋出成功,并将資料補充完整。

什麼?你還不會使用DataWorks排程?前提條件操作步驟

前往Holostudio,單擊左側菜單欄PG管理--表,選中排程配置成功的分區表,并單擊資料預覽,即可檢視到資料。

什麼?你還不會使用DataWorks排程?前提條件操作步驟

設定好排程時間,系統會自動進行周期性排程,通過分區,把每天的資料排程出來。

通過小編的講解,相信你已經學會了怎麼使用DataWorks排程吧,動動手指

開通互動式分析

來使用吧。

若您有任何疑問,歡迎加釘釘群咨詢哦

什麼?你還不會使用DataWorks排程?前提條件操作步驟