Jupyter
本指南介绍如何将您的 StarRocks 集群与 Jupyter 集成,Jupyter 是用于笔记本、代码和数据的最新基于 Web 的交互式开发环境。
这一切都通过 JupySQL 实现,JupySQL 允许您通过 %sql、%%sql 和 %sqlplot magics 在 Jupyter 中运行 SQL 和绘制大型数据集。
您可以在 Jupyter 之上使用 JupySQL 在 StarRocks 上运行查询。
一旦数据加载到集群中,您就可以通过 SQL 绘图查询和可视化它。
前提条件
在开始之前,您必须在本地安装以下软件
- JupySQL:
pip install jupysql
- Jupyterlab:
pip install jupyterlab
- SKlearn Evaluation:
pip install sklearn-evaluation
- Python
- pymysql:
pip install pymysql
注意
一旦满足上述要求,您只需调用
jupyterlab
即可打开 Jupyter lab - 这将打开笔记本界面。如果 Jupyter lab 已经在笔记本中运行,您可以简单地运行下面的单元格来获取依赖项。
# Install required packages.
%pip install --quiet jupysql sklearn-evaluation pymysql
注意
您可能需要重新启动内核才能使用更新的包。
import pandas as pd
from sklearn_evaluation import plot
# Import JupySQL Jupyter extension to create SQL cells.
%load_ext sql
%config SqlMagic.autocommit=False
您需要确保您的 StarRocks 实例已启动并且可以访问以进行后续阶段。
注意
您需要根据您尝试连接的实例类型(url、用户和密码)调整连接字符串。下面的示例使用了一个本地实例。
通过 JupySQL 连接到 StarRocks
在此示例中,使用了一个 docker 实例,这反映了连接字符串中的数据。
root
用户用于连接到本地 StarRocks 实例,创建数据库,并检查数据是否可以实际从表中读取和写入。
%sql mysql+pymysql://root:@localhost:9030
创建并使用该 JupySQL 数据库
%sql CREATE DATABASE jupysql;
%sql USE jupysql;
创建表
%%sql
CREATE TABLE tbl(c1 int, c2 int) distributed by hash(c1) properties ("replication_num" = "1");
INSERT INTO tbl VALUES (1, 10), (2, 20), (3, 30);
SELECT * FROM tbl;
保存和加载查询
现在创建数据库后,您可以将一些示例数据写入其中并查询它。
JupySQL 允许您将查询分解为多个单元格,从而简化了构建大型查询的过程。
您可以编写复杂的查询,保存它们,并在需要时执行它们,类似于 SQL 中的 CTE。
# This is pending for the next JupySQL release.
%%sql --save initialize-table --no-execute
CREATE TABLE tbl(c1 int, c2 int) distributed by hash(c1) properties ("replication_num" = "1");
INSERT INTO tbl VALUES (1, 1), (2, 2), (3, 3);
SELECT * FROM tbl;
注意
--save
存储查询,而不是数据。
请注意,我们正在使用 --with;
,这将检索先前保存的查询,并将它们(使用 CTE)前置。然后,我们将查询保存在 track_fav
中。
直接在 StarRocks 上绘图
JupySQL 默认带有一些绘图,允许您直接在 SQL 中可视化数据。
您可以使用条形图来可视化新创建的表中的数据
top_artist = %sql SELECT * FROM tbl
top_artist.bar()
现在您有了一个新的条形图,无需任何额外的代码。您可以通过 JupySQL (by ploomber) 直接从您的笔记本运行 SQL。这为数据科学家和工程师在 StarRocks 周围增加了许多可能性。如果您遇到问题或需要任何支持,请通过 Slack 与我们联系。