本文介绍如何使用DMS Jupyter Notebook进行数据查询和分析。Notebook相当于一个交互式的页面,能够在同一个页面中集成代码、文字和图表,以便于向其他用户传达信息。
Notebook界面介绍
:保存在Notebook编辑的内容。
:在当前单元格的上方插入一个单元格。
:删除所选中的单元格。
:剪切选中的单元格。
:复制选中的单元格。
:粘贴复制的内容到选中的单元格。
:执行所选中的单元格的内容。
:中断内核。
:重启内核。
:重启内核,并重新运行整个Notebook。
:切换单元格的属性,Code、SQL、Markdown和Raw。
:单击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。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中使用。
输出变量
可在Ipython中直接使用变量名称(在结果集左下角),变量类型为pandas.core.frame.DataFrame。如需自定义变量名称,请单击变量名称即可修改。
查询的SQL结果集一键可视化,支持表格和图表两种展示形式。
PySpark kernel(内核)
默认支持AnalyticDB Spark,也可支持开源Spark。
spark magic通过%%help
magic可以快捷列出支持的命令列表。
Spark Magic是一个Jupyter Notebook扩展。
使用AnalyticDB Spark
在完成购买湖仓版AnalyticDB实例、开通并购买资源组、创建数据库账号操作后,您可以使用如下命令:
命令 | 说明 |
| 确认或排查ADB Spark配置。 |
| 提交SQL到ADB Spark。 |
进行DDL,使用读写C-Store的语法。更多信息,请参见读写C-Store数据 | |
| 提交python代码到ADB Spark。 |
新创建的session,ADB Spark会保留20分钟,超时后会被删除。您可通过重启kernel创建新的session。
文件的上传与下载
使用ossutil上传、下载所需要的数据集。配置ossutil的操作,请参见配置ossutil。
操作步骤
创建Notebook。
在文件页签下,单击,选择Notebook。
在文字和代码的展示区域,使用SQL、Code、Markdown或Raw的格式写入数据。
例如:使用Markdown语法写要查询的数据。
确认生成的SQL无误后,执行SQL并查看生成的结果集。
在Copilot生成的SQL区域,单击执行查询。
SQL会自动插入左侧的文档中,生成的查询结果也会显示在SQL下方。
以表格形式展示
以图表形式展示
执行SQL成功后,该执行结果可以变量的形式被其他SQLCell引用。同时可以自定义变量的名称。
预测数据变化趋势。
引入Python机器学习包,单击执行按钮进行安装。如下图片为示例Code。
引入包成功后,输入可预测数据、可视化形式展示数据的Python代码。
下一步操作
常见问题
Q:哪些用户可以查看Notebook中生成的文档?
A:目前只允许同一租户下的用户,并且是该项目空间的成员才能查看。如果目标用户不在当前租户内,需要将其添加到与项目创建者相同的租户,并将其添加为项目成员。