当前位置:网站首页>OpenMLDB + Jupyter Notebook:快速搭建机器学习应用
OpenMLDB + Jupyter Notebook:快速搭建机器学习应用
2022-08-09 21:47:00 【第四范式开发者社区】
OpenMLDB + Jupyter Notebook:快速搭建机器学习应用
1. 简介
OpenMLDB 是一个开源机器学习数据库,提供线上线下一致的生产级特征平台。Jupyter Notebook 提供了基于浏览器网页的数据计算、代码开发、文档编辑、代码执行以及结果展示等功能,是目前最流行和最易用的开发环境之一。本篇文章介绍 OpenMLDB 与 Notebook 的深度整合,充分利用了 OpenMLDB 强大的功能特性和 Notebook 的便利性,从而打造一个快捷易用的机器学习开发环境。
2. 集成 SQL 魔法函数
Notebook 与 OpenMLDB 第一个集成点就是 SQL 魔法函数(magic function)。魔法函数是 Notebook 的拓展功能,通过注册魔法函数,用户可以在 Notebook cell 中直接执行命令,而不需要编写复杂的 Python 代码,并且可定制输出样式。OpenMLDB 提供了一个标准的 SQL 魔法函数,用户可以在 Notebook 上直接编写和运行 OpenMLDB 支持的 SQL 语句,对应的语句就会提交到 OpenMLDB 执行,并且在 Notebook 中预览返回到结果。
2.1 注册 OpenMLDB SQL 魔法函数为了在 Notebook 中支持 OpenMLDB 魔法函数,首先需要通过如下方式进行注册:
import openmldb db = openmldb.dbapi.connect('demo_db','0.0.0.0:2181','/openmldb') openmldb.sql_magic.register(db)
2.2 执行单行 SQL 语句
开发者可以使用提示符%来执行单行的 SQL 语句,如下图所示。 [图片]
2.3 执行多行 SQL 语句
开发者也可以用提示符%%,书写多行的 SQL 语句,如下图所示。 [图片] 注意,目前尚不支持在一个 Notebook cell 内部同时执行多条 SQL 语句,需要分开在不同 cell 内执行。
2.4 魔法函数支持功能
OpenMLDB 提供的 SQL 魔法函数,可执行所有支持的 SQL 语法,包括使用 OpenMLDB 特有的离线模式,把复杂的需要处理大数据 SQL 语句异步提交到离线执行引擎去执行,如下图所示。 [图片] 详细的OpenMLDB魔法函数使用方法,请参考OpenMLDB官方文档的Magic function介绍 https://openmldb.ai/docs/zh/main/quickstart/python_sdk.html#notebook-magic-function 。
3. Notebook 集成 OpenMLDB Python SDK
OpenMLDB 和 Notebook 整合的第二个功能点就是与 OpenMLDB Python SDK 的集成。Notebook 支持 Python 运行内核,因此可以通过 import 方式导入各种 Python 库使用,OpenMLDB 提供了功能完整的 Python SDK,用于在 Notebook 内调用。OpenMLDB 不仅提供了基于 Python PEP249 标准的 DBAPI,也支持了 Python 业界主流的 SQLAlchemy 接口,只需一行代码就可以连接已有的 OpenMLDB 集群。
3.1 使用 OpenMLDB DBAPI
使用 DBAPI 接口非常简单,对于集群版,只需指定 ZooKeeper 地址以及节点路径即可连接,连接成功后会有对应的日志信息;对于单机版,可以通过 IP 和端口作为参数连接单机版 OpenMLDB,如下所示。
import openmldb.dbapi db = openmldb.dbapi.connect('demo_db','0.0.0.0:2181','/openmldb')
连接成功后即可以在 Notebook 内调用 OpenMLDB Python SDK 的 DBAPI 接口进行开发,详细参见 https://openmldb.ai/docs/zh/main/quickstart/python_sdk.html#openmldb-dbapi。
3.2 使用 OpenMLDB SQLAlchemy
如果想使用 SQLAlchemy 也非常简单,对于集群版,通过 SQLAlchemy 库指定 OpenMLDB 的 URI 即可完成连接;同样可以通过 IP 和端口作为参数连接单机版 OpenMLDB 数据库,如下所示。
import sqlalchemy as db engine = db.create_engine('openmldb://demo_db?zk=127.0.0.1:2181&zkPath=/openmldb') connection = engine.connect()
连接成功后,即可以通过OpenMLDB Python SDK 的 SQLAlchemy 接口来进行开发,详见 https://openmldb.ai/docs/zh/main/quickstart/python_sdk.html#openmldb-sqlalchemy。
4. 参考资料
- OpenMLDB Python SDK: https://openmldb.ai/docs/zh/main/quickstart/python_sdk.html
- OpenMLDB 使用文档:https://openmldb.ai/docs/zh/main/index.html
边栏推荐
- hdu 1333 Smith Numbers(暴力思路)
- SecureCRT背景配色
- random.normal() and random.truncated_normal() in TF
- SecureCRT 设置超时自动断开连接时长
- Word箭头上面怎么打字
- 微软word怎么转换成pdf文件?微软word转换为pdf格式的方法
- 在VMware上安装win虚拟机
- [Implementation of the interface for adding, deleting, checking, and modifying a double-linked list]
- 《强化学习周刊》第57期:DL-DRL、FedDRL & Deep VULMAN
- Technology Sharing | How to use the JSON Schema mode of interface automation testing?
猜你喜欢

kvm虚拟机出现启动不了,NOT available,PV大于分区

knn到底咋回事?

Optimization of SQL Statements and Indexes

在VMware上安装win虚拟机

AI+医疗:使用神经网络进行医学影像识别分析

Several ways to draw timeline diagrams

ACM MM 2022 | Cloud2Sketch: Painting with clouds in the sky, AI brush strokes

TF generates uniformly distributed tensor

Reinforcement Learning Weekly Issue 57: DL-DRL, FedDRL & Deep VULMAN

Install win virtual machine on VMware
随机推荐
万字总结:分布式系统的38个知识点
AI+医疗:使用神经网络进行医学影像识别分析
SQL语句及索引的优化
AI Knows Everything: Building and Deploying a Sign Language Recognition System from Zero
[corctf 2022] 部分
NIO Cup 2022 Nioke Summer Multi-School Training Camp 7 CFGJ
Wps下划线怎么弄?Wps添加下划线的最全方法
TF生成均匀分布的tensor
Word第一页不要页眉怎么设置?设置Word首页不要页眉方法教程
[Cloud Native] 4.2 DevOps Lectures
消防安全培训|“蓝朋友”,开课了!
Don't tell me to play, I'm taking the PMP exam: what you need to know about choosing an institution for the PMP exam
windos安装Mysql8.0,及解决重新登录异常问题 ERROR 1045 (28000)
Word第一页空白页怎么删除?删除Word第一页空白页方法教程
AI Knows Everything: Building and Deploying a Sign Language Recognition System from Zero
hdu 1333 Smith Numbers(暴力思路)
基于Docker构建MySQL主从复制数据库
MySQL慢查询的多个原因
微软word怎么转换成pdf文件?微软word转换为pdf格式的方法
SecureCRT 设置超时自动断开连接时长