Notebook开发编辑器

云原生数据仓库 AnalyticDB MySQL 版集群中的Notebook开发是基于控制台的交互式数据分析开发平台,提供了作业编辑、数据分析、数据可视化等功能。Notebook开发支持Spark SQL和Python两种编程语言编写Spark应用程序。

前提条件

  • AnalyticDB for MySQL集群的产品系列为企业版、基础版或湖仓版

  • 已创建Job型资源组,且计算最大资源需大于等于8 ACU。具体操作,请参见新建资源组

  • 已创建AnalyticDB for MySQL集群的数据库账号。

  • OSS的存储空间与AnalyticDB for MySQL集群需要使用相同的阿里云账号(主账号)和地域。

  • 已授权AnalyticDB for MySQL扮演AliyunADBSparkProcessingDataRole角色来访问其他云资源。具体操作,请参见账号授权

注意事项

Notebook功能已于2024年5月10日下线。

  • 如果在2024年5月10日前,您的集群创建过Notebook,2024年5月10日后,仍可正常使用Notebook。

  • 如果在2024年5月10日前,您的集群从未创建过Notebook,2024年5月10日后,将无法在AnalyticDB for MySQL控制台使用Notebook。

  • 企业版基础版如有需要,可以使用DMS的Notebook功能,操作详情请参见使用Notebook开发

创建Notebook

  1. 登录云原生数据仓库AnalyticDB MySQL控制台,在左上角选择集群所在地域。在左侧导航栏,单击集群列表。在集群列表上方,选择产品系列,然后单击目标集群ID。

  2. 在左侧导航栏,单击作业开发>Notebook开发

  3. Notebook开发页面,单击页面右上角的创建Notebook

  4. 在弹出的日志配置对话框中,选择默认自定义日志路径,并单击确定

    说明

    首次创建Notebook时系统会检测是否已配置日志路径,用于存放SPARK服务运行时的日志。若已配置则此步骤自动跳过;否则将弹出对话框进行提醒。

  5. 创建Notebook面板,配置如下参数。

    参数

    描述

    示例

    资源组

    选择Job型资源组,Job资源组需满足以下条件:

    • 资源组状态为运行中。

    • 计算最大资源需大于等于8 ACU。

    (Job) notebook

    名称

    Notebook的名称,配置规则如下:

    • 名称长度在64个字符之内。

    • 名称由大写字母、小写字母、数字、下划线(_)和短划线(-)组成。

    • 名称具有唯一性。

    notebook-test

    描述

    Notebook的描述。

    功能测试

  6. 单击确定。

开发Notebook

Notebook开发页面,单击目标Notebook名称,在段落区域进行开发。

book123

Notebook页面说明如下:

①菜单栏

参数

说明

资源组

新建资源组

可新建Job型资源组。具体操作,请参见新建资源组

修改资源组

可修改Notebook的资源组。修改规则如下:

  • 资源组为Job型。

  • 资源组状态为运行中。

  • 计算最大资源需大于等于8 ACU。

重要

修改资源组将重启Notebook Kernel,重启过程预计等待3分钟,重启期间执行中的Notebook作业会失败。

Kernel

重启Kernel

可重启Notebook Kernel,重启过程预计等待3分钟,重启期间执行中的Notebook作业会失败。

销毁Kernel

可销毁Notebook Kernel,执行中的Notebook作业将会失败。

②工具栏

参数

说明

保存

保存Notebook作业。其他保存方式:

  • 控制台将每隔5秒自动保存一次Notebook作业。

  • 快捷键Ctrl+S保存Notebook作业。

新增段落

添加段落。其他添加段落方式为将鼠标移至段落中间,单击+添加段落添加段落

运行代码

执行全部段落的代码。

暂停运行

暂停执行全部段落的代码。

重要

运行中的Notebook作业无法暂停。

清除

清除全部段落的执行结果。

设置

配置Notebook作业的启动参数。配置参数的详细信息,请参见Spark应用配置参数说明

示例如下:

{
        "spark.driver.resourceSpec": "small",
        "spark.executor.instances": 2,
        "spark.executor.resourceSpec": "small",
        "spark.adb.eni.vswitchId":"vsw-bp14pj8h0k5p0kwu3****",
        "spark.adb.eni.securityGroupId": "sg-bp14qrdskvwnzels****",
        "spark.hadoop.hive.metastore.uris": "thrift://192.168.XX.XX:9083"
    }
重要

配置Notebook作业的启动参数将重启Notebook Kernel,重启过程预计等待3分钟,重启期间执行中的Notebook作业会失败。

③状态栏

参数

说明

保存成功

Notebook作业的保存状态,控制台将每隔5秒自动保存一次Notebook作业。

kernel

Notebook Kernel的状态,控制台将每隔5秒自动刷新一次Notebook Kernel的状态。Notebook Kernel的状态取值如下:

  • 未启动且控制台文案显示Kernel 未启动,表示Kernel未启动,请单击Kernel>重启Kernel,启动Kernel。

  • 空闲且控制台文案显示Kernel 空闲,表示Kernel空闲,可执行Notebook作业。

  • 启动中且控制台文案显示Kernel 启动中,表示Kernel启动中,请稍等。

  • 作业较多且控制台文案显示Kernel 繁忙,表示Kernel中执行的代码数较多,请稍等重试。

  • 启动错误且控制台文案显示Kernel 错误,表示Kernel启动错误,请等待或重启Kernel。

  • karnel已失效且控制台文案显示Kernel 已失效,表示Kernel已失效,请重启Kernel。

  • kernel已销毁且控制台文案显示Kernel 已销毁,表示Kernel已销毁,请重启Kernel。

  • 状态未知且控制台文案显示Kernel 未知,表示Kernel状态未知,请重启Kernel。

④段落

duanluo

段落页面说明如下:

参数

说明

运行的句柄ID:标识运行语句的唯一句柄ID,用于问题定位。

代码编辑框:语法关键词自动高亮,支持Spark SQL和Python两种编程语言。

工具栏:包括语言切换、代码格式化、执行代码、暂停运行代码、清空结果和删除段落。具体说明如下:

  • 下拉框:编程语言支持Spark SQL和Python两种编程语言。

  • 格式化:代码格式化,仅支持Spark SQL编程语言的格式化。

  • 运行:执行当前段落代码。

  • 取消:暂停执行当前段落代码。

  • 清空:清空当前段落执行结果。

  • 删除:删除当前段落。

运行结果:仅Spark SQL执行结果以表格形式展示,其它语言的执行结果以文本形式展示。

运行状态栏:包括执行状态、耗时和最后更新时间。

错误码说明

错误码

错误信息

解决方案

Console.NotebookNamingDuplicate

Notebook名称重复。

请重新设置Notebook名称。

Console.NotebookParagraphNotRunning

Notebook代码未执行。

请执行Notebook代码。

Console.NotebookParagraphMissingProgramCode

Notebook段落找不到程序代码。

请在段落中编写程序代码。

Console.NotebookKernelNotStartup

Notebook Kernel未启动。

请启动Notebook Kernel。

Spark.NotebookKernelStarting

Notebook Kernel启动中。

请稍后重试。

Spark.NotebookKernelBusy

Notebook Kernel待执行代码数较多。

请稍后重试。

Spark.NotebookKernelExpired

Notebook Kernel已过期。

请重启Kernel。

Spark.NotebookKernelInvalidStatus

Notebook Kernel状态无效。

请重启Kernel。

Spark.GetNotebookKernelFailed

Notebook Kernel启动失败。

请联系技术支持。

Spark.GetNotebookKernelStateFailed

Notebook Kernel状态查询失败。

Spark.ExecuteNotebookStatementFailed

Notebook代码执行失败。

Spark.CancelNotebookStatementFailed

Notebook代码暂停执行失败。

Spark.GetNotebookStatementResultFailed

Notebook代码返回结果查询失败。

Spark.CloseNotebookKernelFailed

Notebook Kernel关闭失败。

Console.NotebookNotFound

已创建的Notebook找不到。

Console.NotebookCreateFailed

Notebook创建失败。

Console.NotebookParagraphNotFound

Notebook段落找不到。

Console.NotebookParagraphCreateFailed

Notebook段落创建失败。