Jupyter Notebook
Jupyter Notebook 是一个基于 Web 的交互式应用程序,使您能够创建包含实时代码、交互式图表、小部件、方程、图像等的笔记本文档,并轻松共享这些文档。它也非常多功能,因为它可以通过内核支持多种编程语言,如 Julia、Python、Ruby、Scala、Haskell 和 R。
通过 Python 中的 SQLAlchemy 库或 ipython-sql,您可以在 Jupyter Notebook 中建立与 Databend 和 Databend Cloud 的连接,从而直接在笔记本中执行查询并从 Databend 中可视化您的数据。
或者,您可以使用 Databend Python Binding 库在 Python 中运行 SQL 查询,从而直接在本地 Python 环境或在线服务(如 Jupyter Notebook 和 Google Colab)中利用 DataBend 的功能,而无需部署单独的 DataBend 实例。
教程-1:使用 SQLAlchemy 将 Databend 与 Jupyter Notebook 集成
在本教程中,您将首先部署一个本地 Databend 实例和 Jupyter Notebook,然后运行一个示例笔记本,通过 SQLAlchemy 库连接到您的本地 Databend,并在笔记本中编写和可视化数据。
在开始之前,请确保您已完成以下任务:
- 您已在系统上安装了 Python。
- 将示例笔记本 databend.ipynb 下载到本地文件夹。
步骤 1. 部署 Databend
- 按照 部署指南 部署本地 Databend。
- 在 Databend 中创建一个 SQL 用户。您将使用此帐户在 Jupyter Notebook 中连接到 Databend。
CREATE USER user1 IDENTIFIED BY 'abc123';
GRANT ALL ON *.* TO user1;
步骤 2. 部署 Jupyter Notebook
- 使用 pip 安装 Jupyter Notebook:
pip install notebook
- 使用 pip 安装依赖项:
pip install sqlalchemy
pip install pandas
pip install pymysql
步骤 3. 运行示例笔记本
- 运行以下命令以启动 Jupyter Notebook:
jupyter notebook
这将启动 Jupyter,您的默认浏览器应启动(或打开一个新标签)到以下 URL:http://localhost:8888/tree
-
在 Files 选项卡中,导航到您下载的示例笔记本并打开它。
-
在示例笔记本中,依次运行单元格。通过这样做,您将在本地 Databend 中创建一个包含 5 行的表,并使用条形图可视化数据。
教程-2:使用 ipython-sql 将 Databend 与 Jupyter Notebook 集成
在本教程中,您将首先部署一个本地 Databend 实例和 Jupyter Notebook,然后运行一个示例笔记本,通过 ipython-sql 连接到您的本地 Databend,并在笔记本中编写和可视化数据。
在开始之前,请确保您已在系统上安装了 Python。
步骤 1. 部署 Databend
- 按照 部署指南 部署本地 Databend。
- 在 Databend 中创建一个 SQL 用户。您将使用此帐户在 Jupyter Notebook 中连接到 Databend。
CREATE USER user1 IDENTIFIED BY 'abc123';
GRANT ALL ON *.* TO user1;
步骤 2. 部署 Jupyter Notebook
- 使用 pip 安装 Jupyter Notebook:
pip install notebook
- 使用 pip 安装依赖项:
要继续本教程,您需要 SQLAlchemy 2.0 以下的版本。请注意,在 SQLAlchemy 2.0 及更高版本中,result.DataFrame() 方法已被弃用,不再可用。相反,您可以使用 pandas 库直接从查询结果创建 DataFrame 并进行绘图。
pip install ipython-sql databend-sqlalchemy
pip install sqlalchemy
步骤 3. 创建并连接笔记本到 Databend
- 运行以下命令以启动 Jupyter Notebook:
jupyter notebook
这将启动 Jupyter,您的默认浏览器应启动(或打开一个新标签)到以下 URL:http://localhost:8888/tree
-
选择 New > Python 3 创建一个笔记本。
-
依次在单独的单元格中运行以下代码。通过这样做,您将在本地 Databend 中创建一个包含 5 行的表,并使用条形图可视化数据。
%load_ext sql
%%sql databend://user1:abc123@localhost:8000/default
create table if not exists user(created_at Date, count Int32);
insert into user values('2022-04-01', 5);
insert into user values('2022-04-01', 3);
insert into user values('2022-04-03', 4);
insert into user values('2022-04-03', 1);
insert into user values('2022-04-04', 10);
result = %sql select created_at as date, count(*) as count from user group by created_at;
result
%matplotlib inline
df = result.DataFrame()
df.plot.bar(x='date', y='count')
您现在可以在笔记本上看到一个条形图:
教程-3:使用 Python Binding 库将 Databend 与 Jupyter Notebook 集成
在本教程中,您将首先部署一个本地 Databend 实例和 Jupyter Notebook,然后通过 Databend Python Binding 库在笔记本中运行查询,并在笔记本中编写和可视化数据。
在开始之前,请确保您已在系统上安装了 Python。
步骤 1. 部署 Jupyter Notebook
- 使用 pip 安装 Jupyter Notebook:
pip install notebook
- 使用 pip 安装依赖项:
pip install databend
pip install matplotlib
步骤 2. 创建笔记本
- 运行以下命令以启动 Jupyter Notebook:
jupyter notebook
这将启动 Jupyter,您的默认浏览器应启动(或打开一个新标签)到以下 URL:http://localhost:8888/tree
-
选择 New > Python 3 创建一个笔记本。
-
依次在单独的单元格中运行以下代码:
# 导入必要的库
from databend import SessionContext
# 创建一个 DataBend 会话
ctx = SessionContext()
# 在 DataBend 中创建一个表
ctx.sql("CREATE TABLE IF NOT EXISTS user (created_at Date, count Int32)")
# 向表中插入多行数据
ctx.sql("INSERT INTO user VALUES ('2022-04-01', 5), ('2022-04-01', 3), ('2022-04-03', 4), ('2022-04-03', 1), ('2022-04-04', 10)")
# 执行查询
result = ctx.sql("SELECT created_at as date, count(*) as count FROM user GROUP BY created_at")
# 显示查询结果
result.show()
# 导入用于数据可视化的库
import matplotlib.pyplot as plt
# 将查询结果转换为 Pandas DataFrame
df = result.to_pandas()