輕鬆搞定,資料開發與分析也能如此簡單方便!

一、引言
DataWorks是一站式智慧大資料開發治理平臺,深度適配阿里雲MaxCompute、EMR、Hologres、Flink、PAI 等數十種大資料和AI計算服務,為資料倉庫、資料湖、OpenLake湖倉一體、Data+AI解決方案提供全鏈路智慧化的資料整合、大資料AI一體化開發、資料分析與主動式資料資產治理服務,幫助企業進行Data+AI全生命週期資料管理。
本次DataWorks智慧互動式資料開發與分析實驗中,將使用資料開發Data Studio中的Notebook開發環境,建立一個獨享的個人開發環境例項,並在該例項上,連線並使用MaxCompute等計算資源進行SQL資料開發,也可以連線並使用本地的Python環境進行資料開發與分析。同時在此過程中,可使用DataWorks 智慧助手Copilot,體驗智慧的資料開發與分析體驗。
本次實驗將帶您進行DataWorks Notebook的快速入門,包含:Notebook新建、多引擎SQL開發與分析、Python開發、互動式分析等。同時,使用DataWorks Copilot體驗智慧資料開發,體驗智慧互動式資料探索之旅。
二、操作教程
產品開通
1.請先確保具有DataWork產品,若無該產品可前往官網按需購買開通;按需選擇地域:華東1(上海)。
2.進入DataWorks產品控制檯,選擇大資料體驗下的DataWorks Gallery,點選Notebook快速入門的載入案例。
(https://dataworks.console.aliyun.com)
【操作注意】進入控制檯後需要選擇剛剛建立資源的對應地域
建立個人開發環境
1.在載入案例彈出框內,點選建立工作空間(若在DataWorks下無工作空間),並填寫工作空間名稱。若之前沒有建立過資源組,則按照指引新建資源組,並繫結到剛剛建立的工作空間上。
2.建立個人開發環境例項,給例項命名,並選擇資源組,設定資源配合,最小2CU即可滿足實驗要求。待個人開發狀態顯示為執行中。
3.工作空間和個人開發環境例項建立完後,點選確定後進入個人開發空間。並新建Notebook。
應用體驗
(一)以MaxCompute為例進行互動式開發
1.點選

,在彈出的SQL Cell中選擇您想執行的大資料引擎

2.點選SQL Cell的請選擇計算資源,在彈出框下選擇要繫結的計算資源,若您在MaxCompute下無資源,則需點選“+繫結計算資源”
3.選擇資源型別 MaxCompute,並點選繫結計算資源
4.新建MaxCompute專案後進行繫結
5.輸入以下SQL命令
SELECT'James'ASname, '25'AS age, 'Hangzhou'AS city;
6.再次點選執行SQL,可得到執行結果
7.(可選)同樣,在Notebook中,支援新增各種SQL Cell,面向多樣化大資料引擎進行資料開發與分析。您可以選擇其他大資料引擎進行開發分析,以下是SQL示例。
說明:如果您選擇其他大資料引擎進行開發分析,可能導致費用發生變化,請以控制檯顯示的實際價格和最終賬單為準。
a. Hologres SQL Cell
SELECT'James'ASname, '25'AS age, 'Hangzhou'AS city;
b. EMR Spark SQL Cell
SELECT'James'ASname, '25'AS age, 'Hangzhou'AS city;
c. StarRocks SQL Cell
SELECT'James'ASname, '25'AS age, 'Hangzhou'AS city;
d. 以上輸入的輸出結果均為
e. Flink SQL Cell
-- @conf name = flink_vvp_job_quick_start-- @conf engineVersion=vvr-8.0.8-flink-1.17-- @conf flinkConf."execution.checkpointing.interval"=10second-- @conf flinkConf."taskmanager.numberOfTaskSlots"=4-- @conf flinkConf."table.exec.state.ttl"=1hour-- @conf flinkConf."execution.checkpointing.min-pause"=10second-- @conf streamingResourceSetting.resourceSettingMode=BASIC-- @conf streamingResourceSetting.basicResourceSetting.parallelism=4-- @conf streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.memory=4GiB-- @conf streamingResourceSetting.basicResourceSetting.taskmanagerResourceSettingSpec.cpu=1-- @conf streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.memory=4GiB-- @conf streamingResourceSetting.basicResourceSetting.jobmanagerResourceSettingSpec.cpu=1--建立臨時源表datagen_source。CREATETEMPORARYTABLE datagen_source( randstr VARCHAR) WITH ('connector' = 'datagen'-- datagen聯結器);--建立臨時結果表print_table。CREATETEMPORARYTABLE print_table( randstr VARCHAR) WITH ('connector' = 'print', -- print聯結器'logger' = 'true'-- 控制檯顯示計算結果);--將randstr欄位擷取後打印出來。INSERTINTO print_tableSELECTSUBSTRING(randstr,0,8) from datagen_source;
輸出結果
(二)使用Python進行資料分析
1.  在Notebook中,能夠新增Python Cell,編寫Python程式碼進行資料處理和開發等
在Python Cell中輸入示例程式碼
import matplotlib.pyplot as plt# 資料準備categories = ['Category A', 'Category B', 'Category C', 'Category D']values = [23, 45, 17, 56]# 建立柱狀圖plt.figure(figsize=(10, 6)) # 設定圖形大小plt.bar(categories, values, color=['blue', 'green', 'red', 'purple']) # 繪製柱狀圖,可自定義顏色# 新增標題和軸標籤plt.title('Sample Bar Chart')plt.xlabel('Categories')plt.ylabel('Values')# 顯示數值for i in range(len(values)): plt.text(i, values[i], str(values[i]), ha='center', va='bottom') # 在每個柱子下方顯示數值# 顯示圖形plt.show()
執行後即可獲得示例柱狀圖:
2. 互動式分析
在Notebook中,您可以使用Python封裝ipywidgets互動元件,並在SQL中引用該互動元件的變數,以實現靈活的互動式查詢。
a. 在Python Cell中輸入以下內容,使用Python構建ipywidgest互動元件
from ipywidgets import interactive,IntSliderquery_age = 20deff(age):global query_age query_age = ageinteractive(f, age=IntSlider(value=20, min=1, max=100, step=1, description='查詢年齡:'))
可得到下面的輸出結果
b. 使用SQL引用互動元件中物件進行查詢
SELECT'${query_age}'AS age;
(三)體驗智慧助手Copilot
DataWorks Copilot⽀持根據⾃然語⾔對已有程式碼進⾏糾錯、註釋⽣成及程式碼解釋等操作。同時,還⽀持為您解答SQL相關的語法及函式問題。
1.SQL改寫
在程式碼編輯器中,輸⼊並選中下面的程式碼,單擊頂部選單欄右側的Copilot

,進⼊Copilot Chat功能界⾯,在Chat輸⼊框中,輸⼊您的改寫要求,單擊發送,等待Copilot返回結果。

預設程式碼:
SELECT ds,spu_id,SUM(sales_amt) AS total_sales,COUNT(DISTINCT order_id) AS total_orders,COUNT(DISTINCT sku_id) AS total_skus,COUNT(DISTINCT buyer_id) AS total_buyers,COUNT(DISTINCT buyer_id) / COUNT(DISTINCT order_id) AS avg_buyers_per_order,COUNT(DISTINCT buyer_id) / COUNT(DISTINCT sku_id) AS avg_buyers_per_sku,SUM(sales_amt) / COUNT(DISTINCT order_id) AS avg_sales_per_order,SUM(sales_amt) / COUNT(DISTINCT sku_id) AS avg_sales_per_skuFROM default.dwd_ec_trd_create_ord_diWHERE order_date BETWEEN'2024-09-01'AND'2024-09-18'GROUPBY ds,spu_idORDERBY total_sales DESCLIMIT10;
預設指令:
修改SQL,將其結果從列轉置為行,使用unpivot
2.SQL 解釋
預設程式碼:
SELECT season,SUM(tran_amt) AS totalFROM mf_cop_salesPIVOT (SUM(tran_amt) FOR season IN ('Q1'AS spring,'Q2'AS summer,'Q3'AS autumn,'Q4'AS winter))AS pivot_tablel;
預設指令:
解釋這段程式碼
3.生成註釋
預設程式碼:
CREATETABLE ods_mbr_user_info(idBIGINT,gmt_create STRING,gmt_modified STRING,id_card_number STRING,id_card_type STRING,is_delete STRING,nick STRING,reg_address STRING,reg_birthdate STRING,reg_city_id STRING,reg_email STRING,reg_fullname STRING,reg_gender STRING,reg_mobile_phone STRING,reg_nation_id STRING,reg_prov_id STRING,user_active_time STRING,user_active_type STRING,user_id BIGINT,user_regdate STRING,user_regip STRING,vip_level STRING)COMMENT'';
預設指令:
為每個字短添加註釋
4.智慧建表
在Data Studio⻚⾯,單擊左側⼀級選單欄中的資料⽬錄,在資料⽬錄列表中,選擇任意⼀個數據⽬錄,新建表,進⼊新建表的功能界⾯,單擊⻚⾯頂部中的Copilot 建表,進⼊Copilot 建表功能界⾯,在輸⼊框中,輸⼊您的指令,單擊發送,等待Copilot返回結果。
點選閱讀原文,體驗DataWorks智慧互動式資料開發與分析之旅,完成指定任務,可獲得新年禮物,先到先得~

相關文章