阿里雲大數據ACP專業認證實驗之12-DataWorks基本操作

一、 實驗概述

DataWorks (數據工場,原大數據開發套件DataIDE),是基於MaxCompute(原ODPS) 計算引擎的一站式大數據開發管理的平臺,它融合了數據集成、數據開發、數據管理、運維監控、機器學習等功能,提供了海量數據的離線加工分析、數據挖掘的能力,能幫助企業快速的搭建數據中心。

二、實驗目標

1)通過創建項目、同步數據、編寫SQL程序、配置調度任務、運維監控等環節,實現完整的數據處理流程。

2)能對DataWorks的主要功能有所瞭解,能夠按照實驗演示內容,獨立完成數據採集 、數據開發、任務運維等數據崗位常見的任務。

三、 實驗場景

模擬RDS數據庫爲生產系統,實現從生產系統抽取數據到ODPS中,進行數據自動化分析處理,最後展現處理結果。

第 1 章:實驗準備

1.1 申請阿里雲資源

在彈出的左側欄中,點擊 創建資源 按鈕,開始創建實驗資源。 資源創建過程需要1-3分鐘。完成實驗資源的創建後,用戶可以通過 實驗資源 查看實驗中所需的資源信息,例如:阿里雲賬號等。

1.2 申請實驗資源

1、 申請沙箱實驗資源 1)點擊【實驗資源】,查看本次實驗資源信息(MaxCompute資源、RDS資源)。如下圖: 在這裏插入圖片描述 2)在彈出的左側欄中,點擊 【創建資源】按鈕,開始創建實驗資源。 如下圖:
注意:實驗環境一旦開始創建則進入計時階段,建議學員先基本瞭解實驗具體的步驟、目的,真正開始做實驗時再進行創建。 3)創建資源,如下圖:(創建資源需要幾分鐘時間,請耐心等候……) 4)資源創建成功後,可通過【實驗資源】查看實驗中所需的實驗資源信息。如下圖: 注意:在本地保存下阿里雲賬號信息,包括資源中的項目名稱、企業別名、子用戶名稱、子用戶密碼、AK ID、AK Secret信息在這裏插入圖片描述 沙箱實驗環境說明:

企業別名:即主賬號ID,在登錄時需要;

子用戶名稱和子用戶密碼:登錄實驗環境以及配置MaxCompute 數據源時需要;

AK ID和AK Secret:系統爲當前用戶分配的登錄驗證密鑰信息;

控制檯url:登錄實驗環境的地址;

實驗數據庫RDS實例:在配置 MaxCompute 數據源時需要;

實驗數據庫RDS鏈接地址:爲登錄數據庫的地址信息。

1.3 登錄實驗環境

1、使用實驗沙箱登錄

1)點擊實驗資源中的【控制檯url】,複製鏈接,在新的窗口打開,跳轉到登錄頁。 在這裏插入圖片描述 在這裏插入圖片描述 2)在登錄頁,輸入【實驗資源】中提供的賬號,格式爲:子用戶名稱@企業別名,再點擊【下一步】。如下圖: 在這裏插入圖片描述 3)輸入【實驗資源】中提供的的“子用戶密碼”,點擊【登錄】 4)登陸後,進入【管理控制檯】界面, 點擊左側菜單欄 【大數據(數加)】,再點擊【DataWorks】 5) 選中相應項目, 點擊【進入數據開發】 6) 進入數據開發環境 在這裏插入圖片描述 2、使用阿里雲賬號登錄

1) 打開瀏覽器,輸入阿里雲官網地址 www.aliyun.com,點擊右上角菜單【控制檯】: 2)使用自己的阿里雲官網賬號登陸控制檯,如果沒有賬號,請先實名註冊: 在這裏插入圖片描述 3)登陸後,進入【管理控制檯】界面, 點擊左側菜單欄 【大數據(數加)】,再點擊【DataWorks】 在這裏插入圖片描述 4)選中相應項目, 點擊【進入數據開發】。如果沒有項目,請先創建項目。 在這裏插入圖片描述

第 2 章:實驗詳情

2.1 創建項目

1、創建項目 注意:DataWorks是項目協作模式,只有阿里雲主賬號可以創建項目,其他子賬號僅作爲使用者在項目中操作。因沙箱實驗環境限制,用戶使用子賬號登錄,無權限創建項目。故實驗環境已默認創建完項目,此章節內容僅供瞭解。

如果沒有項目,創建項目步驟如下:

1)進入【管理控制檯】界面, 點擊左側菜單欄 【大數據(數加)】,再點擊【DataWorks】,然後在【項目列表】中選擇區域,再點擊【創建項目】。如下圖: 在這裏插入圖片描述 2)選擇region、計算引擎服務、DataWorks服務,付費方式根據自己的實際情況選擇,然後點擊【下一步】: 在這裏插入圖片描述 3)填寫項目相關信息:輸入“項目名稱”、“顯示名”以及“項目描述” 信息,然後點擊【創建項目】。 在這裏插入圖片描述 4)創建項目成功後,點擊【刷新列表】,即可看到項目列表,如下圖 在這裏插入圖片描述 5)在【項目列表】頁籤中,選中項目,點擊【進入數據開發】按鈕,開始數據開發工作。 在這裏插入圖片描述 也可點擊【概覽】,選中項目,點擊【進入數據開發】按鈕,開始數據開發工作。 在這裏插入圖片描述 在這裏插入圖片描述 6)初次打開需勾上協議條款,點擊【確認】,然後進入數據開發頁面 在這裏插入圖片描述

2.2 創建RDS數據庫

說明:本實驗利用阿里雲RDS數據庫,模擬構建生產系統。沙箱實驗環境中已默認創建完RDS數據庫實例,下面1)小節僅參考,直接進行 2)小節

1)創建RDS數據庫實例:

打開【管理控制檯】,在左側菜單欄中,點擊【雲計算基礎服務】,在下拉菜單中點擊【雲數據庫RDS版】,然後點擊右上角的【創建實例】按鈕。 在這裏插入圖片描述 依次選擇“付費類型”(按量付費)、“地域”(按照實驗資源分配地區)以及“數據庫類型”(MySQL)、“版本”(5.7)、“系列”(高可用版)、“可用區信息”(華東2可用區B): 在這裏插入圖片描述 選擇“網絡類型”(經典網絡)、“規格”(1核1GB)、“存儲空間” (最小5GB)、“數量”(選擇1) 在這裏插入圖片描述 在這裏插入圖片描述 點擊確認訂單,點擊進入【管理控制檯】,等待實例由“創建中”變成“運行中” (此過程需要幾分鐘,請耐心等待)在這裏插入圖片描述 2) 創建數據庫

點擊左側欄數據庫管理,點擊創建數據庫按鈕 在這裏插入圖片描述 輸入“數據庫名稱”(自行命名)、選擇“支持字符集合”(實驗選擇“utf8”)等信息,點擊【創建】按鈕 在這裏插入圖片描述 3) 創建數據庫賬號

點擊左側菜單欄中的【賬號管理】,進入 “創建賬號” 界面 在這裏插入圖片描述 具體創建賬號參考示例:

① 輸入自定義“數據庫賬號”、賬號類型選擇“普通賬號” 選擇“授權數據庫”、自行“設置密碼”、“確認密碼” 然後點擊確定。 在這裏插入圖片描述 ② 點擊【確定】,等待系統處理:

③ 賬號狀態變更爲“激活”,類型爲“普通賬號”,所屬數據庫爲lab_db,擁有讀寫權限: 在這裏插入圖片描述 4) 登錄數據庫

點擊產品與服務,選擇數據管理DMS。 在這裏插入圖片描述 選擇左側欄中快捷登錄,RDS登錄。(注意:如果出現授權提示,點擊關閉比即可)

在這裏插入圖片描述 輸入網絡地址:端口、用戶名、用戶密碼(實驗中新建的數據庫用戶及對應密碼) 在這裏插入圖片描述 網絡地址爲RDS實例的內網鏈接地址:端口格式填入。 在這裏插入圖片描述 輸入完成點登錄,即可訪問數據庫操作工作臺,可執行相關操作 在這裏插入圖片描述

2.3 RDS數據導入

1)新建表。

登錄RDS數據庫,在頂部菜單欄中,點擊【SQL操作】,然後點擊下拉列表中的【SQL窗口】。 在這裏插入圖片描述 輸入SQL建表語句,創建表t_dml_data,用於模擬存儲業務系統的生產數據。

建表語句如下:

create table IF NOT EXISTS t_dml_data (

detail_id bigint,

sale_date datetime,

province VARCHAR (20),

city VARCHAR (20),

product_id bigint,

cnt bigint,

amt double,

PRIMARY KEY (detail_id)

);

點擊【執行】,建表成功後刷新左側列表,窗口可顯示剛建的表。 在這裏插入圖片描述 2)導入數據

點擊頂部菜單欄的【數據方案】,在下拉列表中點擊【導入】。 在這裏插入圖片描述 點擊【新增任務】,填寫“文件類型”、“數據庫”、“表”、“寫入模式”、“附件”等信息,然後點擊【開始】,執行數據導入任務。(注意:如果導入失敗,請將文件字符集改爲UTF-8格式重新導入) 在這裏插入圖片描述 如下圖,導入任務完成後,會顯示數據導入詳情。 在這裏插入圖片描述 關閉詳情,可看到該任務。 在這裏插入圖片描述 擊左側樹中的表名,選擇【打開表】,可看到表中的數據信息 在這裏插入圖片描述 在這裏插入圖片描述

2.4 DataWorks數據集成

2、DataWorks數據集成 注意: 只有項目管理員角色才能新增數據源,其他角色的成員僅能查看數據源。

1)點擊DataWorks進入DataWorks控制檯,選擇左側欄工作空間列表,點擊數據開發,然後選擇數據集成,進入頂部菜單欄中的【數據集成】頁面,點擊左側導航欄中的 【數據源】,再點擊右上角的 【新增數據源】,如圖: 在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述 2)選擇關係型數據庫“MySQL”, 在彈出框中填寫相關配置項,並確認已添加白名單。然後點擊【測試連通性】,若測試成功,點擊【確定】即可。

注意:RDS實例相關信息可點擊【實驗資源】查看。RDS實例購買者ID需要填主賬號ID(即企業別名);個人阿里雲賬戶可參考下面3)、4)、5)步驟來獲取相關信息 在這裏插入圖片描述 新建或編輯數據源,相關信息填寫完成後,(數據源名稱根據業務自定義即可),點擊“測試連通性”按鈕。如果彈出右側紅色彈框,說明白名單設置有問題。 在這裏插入圖片描述 點擊【點我查看如何添加白名單】,注意根據項目所在 Region 選擇相應的白名單 在這裏插入圖片描述 環境、信息配置成功後,點擊“測試連通性”會彈出右側成功的提示,然後點擊“完成”即可。 在這裏插入圖片描述 在這裏插入圖片描述 以下內容本實驗不用進行,提供給個人賬號操作使用

3)個人賬號查看RDS實例ID

在【管理控制檯】界面,點擊左側菜單欄【雲計算基礎服務】中的【雲數據庫RDS版】,在打開的實例列表中選中實例,點擊查看實例信息。 在這裏插入圖片描述 在這裏插入圖片描述 4) 個人賬號查看RDS實例購買者ID

在【管理控制檯】界面,點擊右上角顯示的登錄賬號,進入“安全設置”,查看”賬號ID” 在這裏插入圖片描述

2.5 DataWorks數據同步

1)打開【管理控制檯】,在左側菜單欄中點擊【大數據(數加)】,在下拉菜單中選擇【DataWorks】,然後在項目列表中選中項目,點擊【進入數據開發】。 在這裏插入圖片描述 2)點擊左側選項卡中的【任務開發】,然後點擊【新建】,選擇【新建業務流程】 在這裏插入圖片描述 3)輸入業務名稱,然後點擊【新建】。

說明:工作流任務是節點任務的集合,一個工作流任務中,可以創建多個節點任務,一個節點任務,可以完成一件事,而一個工作流任務,可以完成一個流程。 在這裏插入圖片描述 4)在節點組件中選擇【離線同步】,拖動到右側畫布中 在這裏插入圖片描述 然後輸入“節點名稱”,點擊【提交】。

在這裏插入圖片描述 在這裏插入圖片描述 5)雙擊節點,進行數據同步設置。

① 設置源表,數據源爲“odps_ds(mysql)”,表名爲“t_dml_data”,設置數據過濾條件"province<>'新疆'"。 在這裏插入圖片描述 ② 設置目標表,數據源爲“odps_first(odps)”,一鍵生成目標表(注意修改建表SQL的表名) 在這裏插入圖片描述 填寫目標表的分區信息。本示例中,分區爲變量,ds=${sdate},在右側【調度配置】中給該變量sdate賦值爲常量‘2017’,選擇清理規則【寫入前清理已有數據 Insert Overwrite】,設置重跑屬性爲運行成功或失敗皆可重跑,依賴上游節點選擇使用工作空間根節點。 在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述 ③ 字段映射。對字段映射關係進行配置,左側源表字段和右側目標表字段爲一一對應的關係,並且與字段順序無關。 在這裏插入圖片描述 ④ 設置通道控制信息。DMU是數據集成消耗資源的度量單位。本示例中設置任務併發數爲“5”、不限流”、錯誤記錄數超過“10條”,任務結束。然後進行下一步。

說明:如果數據源是線上的業務庫,建議不要將併發數設置過大,以防對線上庫造成影響;如果對數據同步速率特別在意,建議選擇較大的作業併發數。 在這裏插入圖片描述 ⑤ 配置完成後,預覽信息,如無誤,點擊【保存】。 在這裏插入圖片描述 6)同步數據。

節點設置完成後,點擊【運行】,帶參數測試運行。 在這裏插入圖片描述 選擇業務日期,然後點擊【運行】。因是一次性調度,而且抽取源表數據時,不是按時間設置數據過濾條件,故此處的業務日期選擇2017。 在這裏插入圖片描述 7)查看同步結果

當數據同步完成後,狀態變爲“成功”: 在這裏插入圖片描述 預覽表數據。在左側欄中,點擊公共表,搜索表名,然後選中數據表t_dml_data,點擊【數據預覽】即可看到數據,或點擊臨時查詢,新建ODPS SQL,根據下圖通過SQL語句查詢數據。 在這裏插入圖片描述 在這裏插入圖片描述 數據導入成功。

2.6 DataWorks數據開發

1、創建數據表 創建目標表t_dml_result,用於存儲數據分析後產生的結果。步驟如下:

點擊頂部菜單欄中的【臨時查詢】,然後點擊【新建】,選擇【ODPS SQL】; 在這裏插入圖片描述 輸入節點名稱,點擊【提交】,然後輸入建表語句建表。 在這裏插入圖片描述 建表語句如下:

create table IF NOT EXISTS t_dml_result (

province string,

product_id bigint,

cnt bigint

) partitioned by (sale_date string);

創建表後,可以在左側導航欄【表查詢】中,輸入表名進行搜索,查看錶信息。如下圖所示: 在這裏插入圖片描述 或者輸入如下語句進行檢查表 desc t_dml_result 在這裏插入圖片描述 或者通過數據地圖查看數據表信息。以上三種方法三選一即可。 在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述 2、 創建SQL任務 點擊頂部菜單欄中的【臨時查詢】,然後點擊【新建】,選擇【新建ODPS SQL】; 在這裏插入圖片描述 在這裏插入圖片描述 在彈出框中,輸入節點名稱,然後點擊【提交】;

雙擊節點對節點進行配置,新版本不許全表掃描,所以要增加設置:全表掃描。 在這裏插入圖片描述 在這裏插入圖片描述 在節點中編寫好SQL語句後,點擊右側菜單選項進行“自定義參數配置”,然後點擊【保存】並 【提交】。

說明:只有提交過的任務才能被調度執行。

注意:下圖中的調度類型一旦選定,不可再更改 在這裏插入圖片描述 在這裏插入圖片描述 自定義參數配置:$[add_months(yyyy-mm-dd,-12*4-8)]

說明:因源表t_dml_data中數據時間爲2015年5月,而調度執行時間爲2020年1月,故參數需往前推4年零8個月。

需根據實際實驗時間修改參數設置。

本SQL實現按省份和產品維度,對每天的銷售量進行彙總。代碼如下:

insert overwrite table t_dml_result partition (sale_date)

select province,

    product_id,

              sum(cnt)  as cnt,

              '${sdate}'as sale_date

from t_dml_data

where ds='2017' and substr(sale_date,1,10)='${sdate}'

group by product_id,province;

配置完成後,注意依賴關係: 在這裏插入圖片描述 在這裏插入圖片描述 然後點擊提交,開始運行節點。 在這裏插入圖片描述 在這裏插入圖片描述 檢查表信息,在臨時節點輸入sql檢查語句 set odps.sql.allow.fullscan=true; select * from t_dml_result 在這裏插入圖片描述 3 、本地數據上傳 在前面章節中,我們通過數據同步的方式獲取了數據源。如果直接從本地文件導入到MaxCompute呢,又該如何操作?

1)建表

① 在【臨時查詢】頁面點擊【新建】,選擇【ODPS SQL】。 在這裏插入圖片描述 ② 輸入節點名稱,點擊“提交”。

③ 輸入建表語句,並點擊【運行】 在這裏插入圖片描述 建表語句如下:

CREATE TABLE t_dml_data_tmp (

   detail_id BIGINT,

   sale_date DATETIME ,

   province STRING ,

   city STRING ,

   product_id BIGINT,

   cnt BIGINT ,

   amt DOUBLE

)

PARTITIONED BY (pt STRING);

2)上傳數據

  1. 點擊頂部菜單欄的【數據開發】,然後進行數據導入

2 選擇分隔符號“逗號”、原始字符集“UTF-8”、導入起始行“1”,並且去掉首行爲標題的勾勾,然後點擊【下一步】。 在這裏插入圖片描述 2. 輸入表名及分區,點擊【導入】。 在這裏插入圖片描述 3. 導入成功後,查看數據結果。 在這裏插入圖片描述 執行SQL語句如下:

set odps.sql.allow.fullscan=true;

select * from t_dml_data_tmp;

查看結果如下: 在這裏插入圖片描述

4 、數據表管理 點擊菜單欄【表管理】,可以查看錶信息。

① 查看錶

點擊【生產賬號的表】選項卡,搜索表名,點擊表“t_dml_data_tmp”即可查看錶的詳情信息。 在這裏插入圖片描述 ② 收藏表

通過菜單欄中數據地圖進入數據管理頁面,在表詳情頁搜索表名稱可以查看錶,點擊【收藏】即可,也可在此單擊【取消收藏】。 在這裏插入圖片描述 在這裏插入圖片描述 ③ 表權限申請

在表詳情頁中點擊權限管理,可進行權限申請。 在這裏插入圖片描述 填寫申請授權彈出框中的各配置項,點擊【確定】提交,然後等待審批。如下圖所示: 在這裏插入圖片描述 說明:

權限歸屬人:支持本人申請和代理申請。

本人申請:選擇該項,審批通過後權限歸屬於當前用戶。

代理申請:選擇代理申請,需填寫代申請賬號(系統右上角顯示的登錄名)。審批通過後權限歸屬於被代理人。

權限有效期:申請表權限的時長,單位爲天,不填則默認爲永久。超過申請權限時長時,該權限將被系統自動回收。

申請理由:請簡要填寫申請理由以便更快地通過審批。

可在【數據管理】>【權限管理】> 【申請記錄】中查看申請狀態。 在這裏插入圖片描述

2.8 任務運維

1 、運維中心 有兩種方式可進入運維中心界面。

方式一:在數據開發頁面,點擊左上角【前往運維】,進入後即可查看到運維大屏。 在這裏插入圖片描述 在這裏插入圖片描述 2、 任務列表 點擊左側菜單欄中的【任務列表】,選擇“任務類型”和“責任人”,可對任務進行篩選。 在這裏插入圖片描述 選中某個任務,可執行“測試”、“補數據”等操作。 在這裏插入圖片描述 如點擊“補數據”,可補歷史數據。

本例中將演示補2015-5-2和2015-5-3日的數,則會按天生成2個實例。

如下圖,設置業務日期爲2017-08-01至2017-08-02,點擊【確定】,並【確認】。 在這裏插入圖片描述 自動跳轉至【補數據實例】頁面,等待狀態由“運行中”變爲“成功”。 在這裏插入圖片描述 如要驗證補數結果,可前往“數據開發”頁面查詢表數據,通過如下語句:set odps.sql.allow.fullscan=true; select sale_data,count(*) from t_dml_result group by sale_data;。 在這裏插入圖片描述 3 、任務運維 選中左側菜單欄中的【任務運維】選項卡,點擊相應實例,可重跑任務。下圖以【補數據實例】爲例說明: 在這裏插入圖片描述 點擊任務,可以查看任務運行日誌。 在這裏插入圖片描述

第 3 章:課後作業

3.1 課後作業

在實際場景中,作爲生產系統,數據每時每刻都在發生。那麼在本實驗中,要把新產生的數據從RDS同步到MaxCompute進行大數據處理,如何改進更合理?

答案供參考:

1、“IDE同步”任務的調度類型需改爲“週期性調度”;

2、源表數據抽取時,根據時間設置“數據過濾”條件;

3、目標表的分區,由常量改爲變量;

4、“IDE開發”中where條件加分區,避免全表掃描;

5、控制同步任務的速率以及作業併發數。

第 4 章:課後練習

4.1 課後任務

1、創建一個週期性調度的數據同步任務(數據每天增量抽取);

2、在調度配置中,將跨週期依賴設置爲“自依賴”,看看實驗效果;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章