操作手册
【实践】DataWorks智能交互式数据开发与分析之旅
本次实验将带您进行DataWorks Notebook的快速入门,包含:Notebook新建、多引擎SQL开发与分析、Python开发、交互式分析等,同时,使用DataWorks Copilot体验智能数据开发。
场景简介
DataWorks Notebook是智能化交互式数据开发和分析工具,能够面向多种数据引擎开展SQL或Python分析,即时运行或调试代码,获取可视化数据结果。同时,DataWorks Notebook能够与其他任务节点混合编排为工作流,提交至调度系统运行,助力复杂业务场景的灵活实现。DataWorks Copilot是您在DataWorks的智能助手,当前阶段可根据自然语言快速转换为需要的SQL命令,包括SQL生成、SQL改写、SQL纠错、生成注释等,帮助您轻松高效地完成数据ETL及数据分析工作。
本次实验将带您进行DataWorks Notebook的快速入门,包含:Notebook新建、多引擎SQL开发与分析、Python开发、交互式分析等,同时,使用DataWorks Copilot体验智能数据开发,使用请按照下方步骤引导进行操作,开启交互式数据探索之旅。
实验背景
在本次DataWorks智能交互式数据开发与分析实验中,将使用数据开发Data Studio中的Notebook开发环境,创建一个独享的个人开发环境实例,并在该实例上,连接并使用MaxComputede等计算资源,进行SQL数据开发,也可以连接并使用本地的Python环境进行数据开发与分析。同时在此过程中,可使用DataWorks智能助手Copilot,体验智能的数据开发与分析体验。
体验目的
掌握阿里云数据开发分析工具DataWorks Notebook的使用;
掌握阿里云DataWorks智能助手Copilot的使用;
掌握多引擎交互式数据开发数据探索分析的基本操作;
背景知识
本场景主要涉及以下云产品和服务:
DataWorks是一站式智能大数据开发治理平台,内置阿里巴巴15年大数据建设方法论,深度适配阿里云MaxCompute、EMR、Hologres、Flink、PAI等数十种大数据和AI计算服务,为数仓、数据湖、OpenLake湖仓一体数据架构提供智能化ETL开发、数据分析与主动式数据资产治理服务,助力”Data+AI“全生命周期的数据管理。
MaxCompute是面向分析的企业级SaaS模式云数据仓库,以Serverless架构提供快速、全托管的在线数据仓库服务,消除了传统数据平台在资源扩展性和弹性方面的限制,最小化用户运维投入,使您可以经济并高效的分析处理海量数据。数以万计的企业正基于MaxCompute进行数据计算与分析,将数据高效转换为业务洞察。
前提条件
云起实验室将在您的账号下开通本次实操资源,资源按量付费,需要您自行承担本次实操的云资源费用。
所以本实验预计1个小时产生费用1元(仅限Copilot在公测阶段)。如果您调整了资源规格、使用时长,或执行了本方案以外的操作,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
进入实操前,请确保阿里云账号满足以下条件:
创建专有网络VPC和交换机
在实验页面,勾选我已阅读并同意《阿里云云起实践平台服务协议》后,单击进入实操。
登录专有网络管理控制台。
在左侧导航栏中,单击专有网络。
在专有网络页⾯,在右上角切换⾄华东1(杭州)地域,单击创建专有网络。
在创建专有网络页⾯,根据下方参数说明配置1个专有网络(VPC)和1台交换机,然后单击确定。更多关于创建专有网络和交换机信息,详情请参见创建和管理专有网络。
配置项
说明
配置项
说明
专有网络
地域
选择华东2(上海)。
名称
自定义名称。
IPv4网段
选择手动输入IPv4地址段。
输入IPv4网段
输入IPv4网段,建议您使用RFC私网地址作为专有网络的网段如
10.0.0.0/8
,172.16.0.0/12
,192.168.0.0/16
。交换机
名称
自定义名称。
可用区
选择上海可用区B。
IPv4网段
使用默认的IPv4网段即可。
在创建专有网络页面,您可查看到创建的专有网络VPC和交换机的ID、实例名称等信息。
开通DataWorks
如果您已开通华东2(上海)地域的DataWorks和MaxCompute,可跳过此章节。
进入大数据开发治理平台DataWorks控制台,选择地域为华东2(上海),单击0元组合购买。
进入DataWorks购买页,按照如下参数选择后,单击确认订单并支付。
说明该步骤会同时开通上海地域的MaxCompute。
配置项
说明
配置项
说明
地域
选择华东2(上海)。
DataWorks版本
选择基础版。
购买时长
1个月,可根据自身需求选择是否到期自动续费。
DataWork资源组
自定义资源组名称。
专有网络(VPC)
选择刚刚创建的专有网络。
交换机(V-Switch)
选择刚刚创建的交换机。
服务关联角色
若未创建,需单击创建按钮进行创建。
在资源校验对话框中,单击下一步:价格清单。在价格清单对话框中,单击下一步:创建订单。
在订单支付页面,单击支付。
准备工作
创建MaxCompute项目。
在左侧导航栏选择项目管理,地域选择为华东2(上海),单击新建项目。在新增项目对话框中输入项目名称,计算资源付费类型选择按量付费,默认Quta可根据自身情况选择(本场景使用的是开通MaxCompute时自动购买的os_默认后付费Quota_p),单击确定。
创建DataWorks工作空间。
在左侧导航栏中,单击工作空间 > 创建工作空间
在创建工作空间页面,输入工作空间名称,按照如下图配置后单击创建工作空间。
在绑定计算资源页面单击下一步后,单击完成。
创建资源组。
在左侧导航栏中,单击资源组 > 独享资源组 > 新建资源组。
在资源组购买页,按照如下参数选择后,单击立即购买并立即开通。
配置项
说明
配置项
说明
地域和可用区
华东2(上海)
付费模式
按量付费
资源组名称
自定义资源组名称
专有网络(VPC)
选择刚刚创建的专有网络。
交换机(V-Switch)
选择刚刚创建的交换机。
服务关联角色
若未创建,需单击创建按钮进行创建。
在资源组列表页面,等待目标资源组的状态变为运行中,单击绑定工作空间。
在绑定工作空间页面,找到目标工作空间单击右侧的绑定。
创建个人开发环境
在左侧导航栏选择大数据体验 > DataWorks Gallery,单击DataWorks Notebook快速入门的载入案例。
在载入案例对话框中,选择刚刚创建的工作空间。在实例下拉框中,单击创建实例。
在新建实例页面,创建个人开发环境实例,设置实例名称,并选择刚刚创建的资源组,设定资源配额,最小2CU即可满足实验要求。
说明当不需要开发和分析时,请及时在新版数据开发页 > 个人开发环境 > 管理环境中,手动单击停止。单击停止后,资源组资源将不再继续消耗。
单击确定后,等待实例状态为运行中。
返回大数据体验 > DataWorks Gallery页面,在载入案例对话框中,选择刚刚创建的工作空间和实例,单击确认后进入个人开发空间。
新建Notebook。
方法一:在个人目录中,单击新建Notebook。
方法二:在项目目录,选择+ > 新建节点 > Notebook后,输入文件名。
以MaxCompute为例进行交互式开发
单击,在弹出的SQL Cell中选择您想运行的大数据引擎,本场景以MaxCompute为例。
运行前需要选择计算资源,可单击SQL Cell右侧的请选择计算资源 > +绑定计算资源。
在绑定计算资源面板,单击绑定计算资源,选择MaxCompute。
在绑定MaxCompute计算资源面板,根据如下参数填写后,单击确认。
配置项
说明
配置项
说明
MaxCompute项目
选择前面步骤中创建的MaxCompute项目。
默认访问身份
阿里云主账号
Endpoint
默认
计算资源实例名称
默认
创建成功后如下图所示。
返回Notebook文件编辑页,输入如下命令后,单击执行按钮。
SELECT 'James' AS name, '25' AS age, 'Hangzhou' AS city;
(可选)同样,在Notebook中,支持新增各种SQL Cell,面向多样化大数据引擎进行数据开发与分析。您可以选择其他大数据引擎进行开发分析,以下是SQL示例。
重要如果您选择其他大数据引擎进行开发分析,可能导致费用发生变化,请以控制台显示的实际价格和最终账单为准。
Hologres SQL Cell。
SELECT 'James' AS name, '25' AS age, 'Hangzhou' AS city;
EMR Spark SQL Cell。
SELECT 'James' AS name, '25' AS age, 'Hangzhou' AS city;
StarRocks SQL Cell。
SELECT 'James' AS name, '25' AS age, 'Hangzhou' AS city;
以上三条SQL Cell输出结果如图所示。
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。 CREATE TEMPORARY TABLE datagen_source( randstr VARCHAR ) WITH ( 'connector' = 'datagen' -- datagen连接器 ); --创建临时结果表print_table。 CREATE TEMPORARY TABLE print_table( randstr VARCHAR ) WITH ( 'connector' = 'print', -- print连接器 'logger' = 'true' -- 控制台显示计算结果 ); --将randstr字段截取后打印出来。 INSERT INTO print_table SELECT SUBSTRING(randstr,0,8) from datagen_source;
输出结果如图所示。
使用Python进行数据分析
在Notebook中,能够新增Python Cell,编写Python代码进行数据处理和开发等。
单击+Python,唤出Python Cell。
在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()
运行后即可获得如图所示的柱状图。
交互式分析。
在Notebook中,您可以使用Python封装ipywidgets交互组件,并在SQL中引用该交互组件的变量,以实现灵活的交互式查询。
在Python Cell中执行入以下内容,构建ipywidgets交互组件。
from ipywidgets import interactive,IntSlider query_age = 20 def f(age): global query_age query_age = age interactive(f, age=IntSlider(value=20, min=1, max=100, step=1, description='查询年龄:'))
执行如下命令,使用SQL引用交互组件中对象进行查询。
SELECT '${query_age}' AS age;
体验智能助手Copilot
DataWorks Copilot⽀持根据⾃然语⾔对已有代码进⾏纠错、注释⽣成及代码解释等操作。同时,还⽀持为您解答SQL相关的语法及函数问题。
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_sku FROM default.dwd_ec_trd_create_ord_di WHERE order_date BETWEEN '2024-09-01' AND '2024-09-18' GROUP BY ds ,spu_id ORDER BY total_sales DESC LIMIT 10 ;
预设指令如下。
修改SQL,将其结果从列转置为行,使用unpivot
SQL解释。在代码编辑器中,输⼊并选中下面的代码,单击顶部菜单栏右侧的Copilot,进⼊Copilot Chat功能界⾯,在Chat输⼊框中,输⼊您的改写要求,单击发送,等待Copilot返回结果。
预设代码如下。
SELECT season ,SUM(tran_amt) AS total FROM mf_cop_sales PIVOT (SUM(tran_amt) FOR season IN ('Q1' AS spring,'Q2' AS summer,'Q3' AS a utumn,'Q4' AS winter))AS pivot_tablel ;
预设指令如下。
解释这段代码
生成注释。在代码编辑器中,输⼊并选中下面的代码,右击选择Copilot > 生成注释,进⼊Copilot Chat功能界⾯,在Chat输⼊框中,输⼊您的改写要求,单击发送,等待Copilot返回结果。
预设代码如下。
CREATE TABLE ods_mbr_user_info ( id BIGINT ,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 '';
预设指令如下。
为每个字段添加注释
智能建表。在Data Studio⻚⾯,单击左侧⼀级菜单栏中的数据⽬录,在数据⽬录列表中,选择任意⼀个数据⽬录,右键新建 > 新建表。进⼊新建表的功能界⾯,单击页面顶部中的Copilot建表,进⼊Copilot建表功能界⾯。在输⼊框中,输⼊您的指令如
会员注册信息表
,单击生成并替换,等待Copilot返回结果。
清理资源
在完成实验后,如果无需继续使用资源,请根据以下步骤,先删除相关资源后,再结束实操,否则资源会持续运行产生费用。
删除资源组和工作空间。
登录DataWorks控制台。
在页面右上角,地域切换至华东2(上海),然后在左侧导航栏中,单击工作空间列表。
在工作空间列表页面,找到目标工作空间,单击其右侧操作列下的删除。
在删除工作空间对话框中,勾选我确认该DataWorks空间及其所包含的所有实体将被永久删除,且不可恢复和我确认该DataWorks空间对应的AI工作空间将被永久删除,且不可恢复,单击确认。
在DataWorks控制台左侧导航栏中,单击资源组列表,找到您创建的资源组,选择其右侧操作列下的 > 退订。
在退订对话框中,单击确认。
删除MaxCompute项目。
在页面上方的菜单栏中,地域切换至华东2(上海)。在项目管理页面,找到创建的MaxCompute项目,单击其右侧操作列下的删除。
在删除项目对话框中,勾选你确认要继续执行删除MaxCompute项目的操作吗,单击确定。
删除VPC及交换机。
登录专有网络。
在页面上方的菜单栏中,地域切换至华东2(上海)。
在专有网络页面,找到您创建的VPC,单击其右侧操作列下的删除。
在删除专有网络对话框中,勾选强制删除,单击确定。
删除相关资源后,单击结束实操。在结束实操对话框中,单击确定。
在完成实验后,如果需要继续使用资源,您可跳过释放相关资源的操作,直接单击结束实操。在结束实操对话框中,单击确定。请随时关注账户扣费情况,避免发生欠费。