使用Notebook开发

本文介绍如何使用DMS Jupyter Notebook进行数据查询和分析。Notebook相当于一个交互式的页面,能够在同一个页面中集成代码、文字和图表,以便于向其他用户传达信息。

Notebook界面介绍

image

  • image:保存在Notebook编辑的内容。

  • image:在当前单元格的上方插入一个单元格。

  • image:删除所选中的单元格。

  • image:剪切选中的单元格。

  • image:复制选中的单元格。

  • image:粘贴复制的内容到选中的单元格。

  • image:执行所选中的单元格的内容。

  • image:中断内核。

  • image:重启内核。

  • image:重启内核,并重新运行整个Notebook。

  • image:切换单元格的属性,Code、SQL、Markdown和Raw。

  • image:单击Copilot即可进入对话界面。

DMS Jupyter Notebook支持的功能

DMS Jupyter Notebook兼容开源Jupyter Notebook。此外,DMS Jupyter Notebook还增强了SQL查询和可视化的能力。如下为您介绍DMS Jupyter Notebook支持的功能:

Ipython kernel(内核)

使用pip安装扩展包、支持公网访问,与开源Jupyter Notebook的使用方式基本一致。

  • 在Notebook使用Spark语法查询表数据。语法示例如下:

    • 语法一:

      df = spark.sql("select * from customer limit 10").show();
    • 语法二:

      %%spark_sql 
      select * from customer limit 10;
    • 语法三:

      在Cell中选择SQL > Spark SQL,再输入相关SQL。

      image

      CREATE TABLE IF NOT EXISTS 'default'.'select_2' AS SELECT 2;
      说明

      Spark SQL Cell 默认分页展示的行数上限为3000行。如需调整显示的行数,请修改环境变量DMS_SPARK_SQL_DEFAULT_LIMIT,在Cell中输入如下代码:

      os.environ['DMS_SPARK_SQL_DEFAULT_LIMIT'] = '3000';
  • 在Notebook的工具栏区域,将单元格属性从Code切换至SQL。

    SQL Cells使用语法与逻辑数仓基本相同,支持跨库查询、实时分析,权限要求与DMS细粒度的权限要求一致。逻辑数仓语法,请参见逻辑数仓SQL语法

  • 在SQLCell和PythonCell中引用变量(引用格式为${变量名称})、自定义变量名称、查看变量类型。如下为您介绍如何在Notebook中输入变量、输出变量、引用变量。

    • 输入变量并引用变量

      Ipython中的变量,可通过${var}(var为Ipython内的变量名),引用到SQL中使用。

      image

    • 输出变量

      可在Ipython中直接使用变量名称(在结果集左下角),变量类型为pandas.core.frame.DataFrame。如需自定义变量名称,请单击变量名称即可修改。

      image

  • 查询的SQL结果集一键可视化,支持表格和图表两种展示形式。

    image

PySpark kernel(内核)

默认支持AnalyticDB Spark,也可支持开源Spark。

spark magic通过%%help magic可以快捷列出支持的命令列表。

说明

Spark Magic是一个Jupyter Notebook扩展。

使用AnalyticDB Spark

在完成购买湖仓版AnalyticDB实例开通并购买资源组创建数据库账号操作后,您可以使用如下命令:

命令

说明

%%info

确认或排查ADB Spark配置。

%%sql

提交SQL到ADB Spark。

进行DDL,使用读写C-Store的语法。更多信息,请参见读写C-Store数据

%%spark

提交python代码到ADB Spark。

说明

新创建的session,ADB Spark会保留20分钟,超时后会被删除。您可通过重启kernel创建新的session。

文件的上传与下载

使用ossutil上传、下载所需要的数据集。配置ossutil的操作,请参见配置ossutil

操作步骤

  1. 创建Notebook。

    在文件image页签下,单击image,选择Notebook

    image

  2. 在文字和代码的展示区域,使用SQL、Code、Markdown或Raw的格式写入数据。

    例如:使用Markdown语法写要查询的数据。

    image

  3. 使用Copilot生成SQL

    image

  4. 确认生成的SQL无误后,执行SQL并查看生成的结果集。

    1. 在Copilot生成的SQL区域,单击执行查询

      SQL会自动插入左侧的文档中,生成的查询结果也会显示在SQL下方。

      • 以表格形式展示

        image

      • 以图表形式展示

        image

  5. 执行SQL成功后,该执行结果可以变量的形式被其他SQLCell引用。同时可以自定义变量的名称。

    image

  6. 预测数据变化趋势。

    1. 引入Python机器学习包,单击执行按钮进行安装。如下图片为示例Code。

      image

    2. 引入包成功后,输入可预测数据、可视化形式展示数据的Python代码。

下一步操作

发布AI Agent

常见问题

Q:哪些用户可以查看Notebook中生成的文档?

A:目前只允许同一租户下的用户,并且是该项目空间的成员才能查看。如果目标用户不在当前租户内,需要将其添加到与项目创建者相同的租户,并将其添加为项目成员。