DataWorks的Notebook提供了一个交互式、灵活且可复用的数据处理和分析环境,增强了直观性、模块化和交互性,帮助您更轻松地进行数据处理、探索、可视化和模型构建。
使用限制
必须使用数据开发(Data Studio)(新版)公测工作空间,可通过创建工作空间创建新版数据开发工作空间。
必须使用Serverless资源组,新建Serverless资源组详情请参见使用Serverless资源组。
步骤一:创建个人开发环境实例
Notebook开发依赖于个人开发环境实例,所以在创建Notebook前,需提前创建好个人开发环境实例。详情请参见创建个人开发环境实例。
步骤二:新建Notebook
进入数据开发(新版)页面。
进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的 ,进入Data Studio。
创建Notebook。
在数据开发页面,左侧导航栏单击
按钮,进入数据开发页面,在项目目录或个人目录下可以创建Notebook。
项目目录下创建Notebook:
单击
按钮,选中Notebook,来新建Notebook。
若已创建的工作目录,鼠标悬浮在目录名上右键选择
新建Notebook。若已创建的工作流程,在工作流程的编辑工作流内,添加Notebook节点。
个人目录下创建Notebook:
单击
按钮,新建Notebook文件。
单击
按钮,新增
.ipynb
格式的文件,实现新建Notebook。若已创建的文件夹,鼠标悬浮在文件夹名上右键选择新建Notebook来新建Notebook。
步骤三:开发Notebook
进入Notebook页面后,默认会存在一个空白Python Cell
,除Python Cell
外,还支持SQL Cell
、Markdown Cell
。
新建Cell
新增Cell。
Notebook页面顶部新增Cell:常驻新增
SQL
、Python
、Markdown
新增按钮,单击新增即可。从当前Cell上方新增Cell:鼠标悬浮至Cell上边缘时展示新增按钮,单击新增按钮即可在当前Cell上方插入一个新Cell。
从当前Cell下方新增Cell:鼠标悬浮至Cell下边缘时展示新增按钮,单击新增按钮即可在当前Cell下方插入一个新Cell。
选择Cell内核。
在运行Notebook时,无论是单个Cell运行还是全部Cell运行,运行前整体需要选择一个内核,在Notebook页面的右侧顶部单击
按钮,即可对Notebook内核进行切换,如果已经在页面顶部选择了个人开发环境实例,则会自动选择个人开发环境的官方镜像所对应的内核。
Cell种类
SQL Cell支持的SQL类型包括:
MaxCompute SQL
、Hologres SQL
、EMR SPARK SQL
、StarRocks SQL
、Flink SQL Batch
、Flink SQL Streaming
。单击Notebook页面内的Cell代码框的右下角
按钮可以切换不同的SQL模式。
单击Notebook页面内的Cell代码框的右下角
按钮可切换不同SQL的计算资源。
SQL Cell支持的计算资源包括:
MaxCompute
、Hologres
、EMR ON Spark
、全托管Flink
。
运行SQL脚本后,将在Cell下方打印SQL运行结果。
场景
示例代码
运行结果
示意图
若SQL不包含Select语句。
CREATE TABLE IF NOT EXISTS product ( product_id BIGINT, product_name STRING, product_type STRING, price DECIMAL(10, 2) ) LIFECYCLE 30; -- 表示数据的生命周期为30天,超出后数据将被自动删除,这是一个可选设置
运行日志
若SQL包含Select语句。
select product_id, product_name, product_type, price FROM product;
表格
可视化图表
运行日志
将查询结果自动生成DataFrame数据对象的变量。
若SQL Cell中包含一段查询SQL,则自动获取的这段SQL的结果作为DataFrame变量。
若SQL Cell中包含多段查询SQL,则获取的DataFrame变量是多段查询SQL的后一个查询结果。
您可以通过单击返回变量名自定义修改变量名。
Cell内支持撰写Python代码,并执行查看运行结果,以下为示例场景:
场景 | 示例代码 | 运行结果示意图 |
仅打印输出文本。 |
| |
使用Pandas DataFrame。 |
| |
绘制图表。 |
|
除却简单的打印输出、函数和绘图外,还支持更多Python场景。
Cell内支持撰写Markdown,以下为Markdown的编写的操作步骤:
在编写完成后,单击
按钮后,可展示Markdown的文本和格式效果。
在已展示的格式效果的Markdown的Cell中,单击
按钮,可继续编辑该Cell。
Cell的通用操作
操作 | 位置 | 说明 |
操作 | 位置 | 说明 |
运行当前Cell。 | 点击 | |
停止运行当前Cell。 | 点击 | |
展开和收起Cell运行结果。 | 运行Cell后的结果,默认均为展开,可单击运行结果前的蓝色线条对 SQL查询结果不支持通过该方式进行隐藏或展开。 | |
清空当前Cell结果。 | 单击左上角的 | |
移除Cell。 | 点击 | |
运行当前Cell上方所有单元格。 运行当前Cell单元格及以下。 | 运行当前Cell上方所有单元格: 运行当前Cell单元格及以下: | 在右上角点击批量运行的Menu Button,选择运行当前Cell上方所有单元格或运行当前Cell及下方所有单元格;多个Cell运行时,将按照Cell排列顺序进行串行执行。 |
复制/剪切/粘贴当前Cell。 | 单击左上角的
| |
插入Cell(在上方/在下方)。 | 上方插入: 下方插入: | 上方插入:鼠标悬浮在已有Cell的上框线上,会出现添加不同Cell的按钮,单击需要增加的Cell即可。 下方插入:鼠标悬浮在已有Cell的下线框上,会出现添加不同Cell的按钮,单击需要增加的Cell即可。 |
移动Cell顺序(向上方/向下方)。 | 除了点击调整顺序的按钮,也支持拖拽Cell至目标位置。 |
SQL Cell结果传递至Python Cell
当SQL Cell有输出结果时,将自动生成DataFrame变量,这些变量可被Python Cell获取,从而实现SQL Cell和Python Cell联动。
新建SQL Cell,编辑并运行,生成变量
运行查询SQL。
自定义变量名。
如果一个单元格中包含多个查询SQL,那么DataFrame变量存储的数据内容将仅包含最后一个运行的查询SQL结果。
在Python Cell中获取DataFrame变量。
公共头呼出Copilot
单击DataWorks页面的右上角的,打开Copilot,基于prompt交互后,可将生成的SQL或Python代码插入当前停留的SQL Cell或Python Cell中。
在右侧的Copilot对话框内,输入自己想要实现的内容。
交互生成SQL或Python代码。
单击prompt回复的SQL或Python代码右上角的插入按钮,即可将SQL或Python代码插入当前停留的SQL Cell或Python Cell中。
工作流中使用Notebook
若在数据开发中创建了工作流,那么可在工作流中新增Notebook任务节点或引用已有的Notebook节点。
新增Notebook任务节点:
在项目目录下,单击打开工作流编辑页面。
在Workflow页面左侧单击编辑工作流,在添加节点模块内搜索Notebook,并将其拖拽至工作流画布中。
在新建节点的弹窗内,为Notebook自定义节点名称和调整节点类型,并单击确认,完成节点创建。
创建完成Notebook节点后,可单击打开节点,对Workflow内的Notebook节点进行配置,配置开发操作详情请参见:开发Notebook。
步骤四:发布Notebook
节点发布流程中各步骤的详细说明,请参见节点/工作流发布。
单击
保存Notebook。
单击
进入Notebook的发布流程中,分别对发布包构建、上线到开发前检查、发布到开发环境、上线到生产前检查、发布到生产环境步骤进行确认,从而完成发布操作。
单击
保存Notebook。
单击
将个人目录下的Notebook提交至项目目录下。单击提交后,根据弹窗提示选择需要提交的Notebook文件以及存放的目录位置。
进入项目目录,根据配置的存放位置找到提交至项目目录下的Notebook,单击
进入Notebook的发布流程中,分别对发布包构建、上线到开发前检查、发布到开发环境、上线到生产前检查、发布到生产环境步骤进行确认,从而完成发布操作。
Notebook发布成功后,可单击右上角下拉菜单中的前往运维查看周期实例或前往运维查看周期任务查看Notebook的运行详情等信息。
步骤五:删除Notebook
仅保存,未发布的Notebook:从目录树上右键目标文件,直接删除。
已发布的Notebook,需要先执行Notebook任务节点的下线;再回到数据开发,从目录树中删除任务节点。
选中需要删除的Notebook,右键选择删除,会出现下线弹窗,在弹窗内单击去下线,即可进入Notebook的下线流程。
在下线流程,单击开始下线,然后将节点下线前检查、下线开发前检查、从开发环境下线、下线生产前检查以及从生产环境下线单击确认,删除节点单击确认或跳过,完成对Notebook的下线。
删除节点中选择确认时,会直接删除该Notebook,选择跳过时,则只会下线Notebook,不会删除该Notebook。
如果Notebook是个人目录下的文件,可以从目录树上右键单击目标Notebook文件,直接删除Notebook文件。
场景:Notebook引用Python资源
NoteBook在进行开发时,可通过##@resource_reference{"自定义名.py"}
的方式引用MaxCompute资源,以下为引用Python资源的简单示例:
Notebook引用Python资源仅在生产环境下生效,在开发环境下无法正常获取资源,请将Notebook发布至生产环境后,在运维中心执行。
新建Python资源
添加Python资源文件。
进入DataWorks工作空间列表页,在顶部切换至目标地域,找到已创建的工作空间,单击操作列的 ,进入Data Studio。
在左侧导航栏单击
,进入资源管理。
在资源管理页面,单击新建按钮或
,您也可以先新建目录,规划资源管理目录后,再在相应目录上右键,选择新建,选择具体创建的资源或函数类型。
新建MaxCompute Python资源。
本示例将该Python资源命名为:
hello.py
。
编辑Python资源文件内容,示例代码如下:
# your_script.py def greet(name): print(f"Hello, {name}!")
编辑完成后,单击保存,保存Python代码。
完成代码的编辑与保存后,单击
按钮,保存
hello.py
资源。资源保存成功后,单击
按钮,发布
hello.py
资源至开发以及生产环境。
引用Python资源
新增Notebook节点,详情可参见新建Notebook。
在Notebook中新增Python Cell,详情可参见Cell种类。
在Python Cell中编写的
##@resource_reference{"hello.py"}
引用步新建的MaxCompute Python资源,以下为示例代码:# 通过该注释在调度时引用一个名称为hello.py的Python资源 ##@resource_reference{"hello.py"} import sys import os # 将当前工作目录添加到路径中 sys.path.append(os.path.abspath('./hello.py')) # 或者使用相对路径,根据实际情况进行调整 from hello import greet # 替换为实际的函数名 greet('DataWorks')
完成Python Cell的代码编写与节点调度配置后,保存并发布Notebook节点。
进入运维中心(工作流),在执行补数据并查看补数据实例(新版)。
中找到已发布的Notebook节点,单击操作列补数据,对Notebook节点进行补数据,补数据详情可参见:完成补数据后,即可通过查看Notebook节点运行日志来确认Python Cell是否执行成功。
- 本页导读 (1)
- 使用限制
- 步骤一:创建个人开发环境实例
- 步骤二:新建Notebook
- 步骤三:开发Notebook
- 新建Cell
- Cell种类
- Cell的通用操作
- SQL Cell结果传递至Python Cell
- 公共头呼出Copilot
- 工作流中使用Notebook
- 步骤四:发布Notebook
- 步骤五:删除Notebook
- 场景:Notebook引用Python资源
- 新建Python资源
- 引用Python资源