为满足用户数据预处理、算法开发、数据探索等场景,DataLeap 为您提供 Notebook 交互式开发环境。 Notebook 基于开源的 Jupyterlab 定制化开发,支持使用 Python、Markdown 语言、引入第三方库完成数据查询操作。
本文将为您演示临时查询 Notebook 任务类型中使用 Spark on EMR Serverless 的 Kernel 类型。
新建任务完成后,首次打开 Notebook,需先配置环境启动信息:
其中名称前带 * 的参数为必填参数,名称前未带 * 的参数为可选参数。
参数 | 说明 |
---|---|
*选择Kernel | Notebook Kernel 是执行 Notebook 文件包含代码的计算引擎,比如 ipython kernel 执行 python 代码。 说明 打开 Notebook 任务,配置环境后,默认将自动启动 Kernel,您也可以勾选“Notebook任务打开时,默认不自动启动Kernel。 ”选项,将暂不启动 Kernel。 |
*计算资源组 | 下拉选择已绑定至项目的公共计算资源组。 说明 Spark on EMR Serverless 的 Kernel 类型,目前仅支持公共计算资源组。 |
*镜像 | 仅支持选择默认镜像地址,预装了常用第三方库,更多 Python 第三方库,您可通过任务,来执行 pip 命令方式安装。如: |
*队列 | 下拉选择已在项目中添加的 Spark 计算队列信息。 说明 Notebook 查询作业中,Spark 队列类型需选择公共队列 Spark 或未开启“SQL 专有资源”的通用资源队列,方能正常启动 Kernel。 |
Spark 参数 | Spark on EMR Serverless 的 Kernel 类型,在任务执行环境中,可添加任务所需的 Spark 参数,您可通过以下方式进行配置:
|
启动信息配置完成后,单击确认按钮,启动 Kernel 连接,待导航栏 Kernel 状态为 Idle 后,即代表启动成功,可进行后续的调试运行代码逻辑。
Kernel 状态说明:
您可单击 Kernel 按钮,进行 Kernel 开启或关闭操作,重启时,您也可进行 Kernel Spark 参数编辑替换。
启动 Kernel 状态正常后,即可进入代码编辑查询界面。Notebook 支持 Python、Markdown、Raw 三种语言。
您可以在当前的 cell 框中,输入对应语言的代码逻辑,以 Python 语言为例,为您介绍几种使用示例:
注意
查询 LAS Formation 库表数据时,您需确保 Kernel 环境启动配置时,填写的 AK/SK 信息,其对应的账号拥有 LAS Formation 库表的建表、读写等权限。
账号权限申请操作可在 DataLeap-数据安全或 LAS-数据授权界面进行操作。详见申请权限或权限管理说明。
sql("show databases").show() sql("select * from databases.table_name").show()
单击上方操作栏中的运行按钮,执行所编辑的示例语句,等待执行完成后,便可在下方查看运行结果。
您可按实际业务需求,来安装业务所需的 Python 库资源。示例如下:
pip list #查看当前库
pip install emoji #安装 emoji 库
pip install matplotlib #安装 matplotlib 库
使用上方已安装的 Python 第三方库,来满足实际业务场景需求:
使用 pyplot 画图,您可输入以下绘图示例语句:
import matplotlib.pyplot as plt fig, ax = plt.subplots() fruits = ['apple', 'blueberry', 'cherry', 'orange'] counts = [40, 100, 30, 55] bar_labels = ['red', 'blue', '_red', 'orange'] bar_colors = ['tab:red', 'tab:blue', 'tab:red', 'tab:orange'] ax.bar(fruits, counts, label=bar_labels, color=bar_colors) ax.set_ylabel('fruit supply') ax.set_title('Fruit supply by kind and color') ax.legend(title='Fruit color') plt.show()
使用 emoji 库转换对应表情符号,您可输入以下示例语句:
import emoji emoji.emojize('nnnn :thumbs_up:')
您可在 Cell 编辑框中,根据实际场景输入 Markdown 语句,示例如下:
## 二级标题 **Notebook 基于开源的 Jupyterlab 定制化开发,支持使用 Python、Markdown、Raw 语言、引入第三方库完成数据查询操作** ### 三级标题 $$文案居中$$ #### 四级标题 $\min_w \frac{1}{2n_{samples}} \Vert X_{w-Y}\Vert _2\^2+\alpha \Vert w \Vert _2$
单击上方操作栏运行按钮(或快捷键:shift + Enter),等待执行完成后,便可展示如下结果:
Notebook 中的 Raw 语言是纯文本形式,您可根据实际情况输入相应的文本信息用于记录:
这里是文本编辑模式 您可在此输入所需记录的信息,以上示例为您演示的是: 1、查询 LAS Formation 表数据; 2、使用 pyplot 画图; 3、Markdown 语言示例。
DataLeap 平台的 Notebook 任务中,已为您添加以下内置系统变量参数,您无需再修改以下变量:spark、sc、sql
from pyspark.sql import SparkSession spark = SparkSession.builder.enableHiveSupport().getOrCreate() sc = spark.sparkContext sql = spark.sql