首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

xeus-sql:让Jupyter支持SQL处理

现在用Jupyter进行数据处理,对数据工作者来说已经不是一个新鲜事情了。然而如何将大量数据导入却是一个比较棘手的事情。大家都知道关系数据库是数据存储的最重要的载体,那么对数据库的支持是Jupyter数据科学界一个迫切的需求。此前Jupyter曾发布过一个内核xeus-sqlite允许用户直接从notebook进行SQLite查询。

日前Jupyter新发布了一个新的项目xeus-sql,这是对xeus-sqlite的扩展,是Jupyter的通用数据库访问工具,使用它可以在绝大多数的关系数据库上进行SQL查询。

数据库支持

xeus-sql支持市面上的绝大多数数据,包括:

以及支持ODBC驱动程序的任何数据库。

为了提供所有这些集成,xeus-sql依赖SOCI库作为项目的主干。SOCI在统一的C++ API之后抽象所有不同的数据库连接和查询详细信息。xeus-sql使用SOCI和xeus将SQL功能公开给Jupyter。

安装

为确保安装正常进行,最好xeus在一个全新的conda环境中安装。xeus-sql还需要使用miniconda安装,完整的anaconda 可能会产生冲突。最安全的用法是创建一个以xeus-sqlminiconda安装命名的环境:

从conda安装

Conda forge提供了MySQL,PostgreSQL和SQLite的打包版本,可以使用conda或mamba轻松安装它们一键安装,使用conda软件包管理器安装xeus-sql:

或者使用mamba:

或者可以分别安装:

不同的SQL后端之间存在一些差异,可以参考xeus-sql详细文档和示例学习。

使用方法

要连接MySQ,需要首先安装xeus-sql和soci-mysql,然后用LOAD加载连接数据库:

上面db数据库名称,user为连库用户名,password为用户密码。

连接成功就可以执行数据库命令和SQL语句,比如:

其他数据库后端也类似:

可视化查询

对于熟悉可视化SQL表和查询结果的表形式的用户,Jupyter的丰富显示系统提供了根据使用的应用程序将它们显示为丰富文本显示还是纯文本显示的选项。

除了显示带有表的查询之外,在还可以直接在Notebook中根据查询结果轻松创建Vega-Lite图形:

Vega-Lite是一个功能强大的库可以使用xeus-sql从关系数据中创建许多不同的可视化文件。

为了支持此功能,xeus-sql依赖于xvega(vega的C++后端)和定制的Jupyter魔术来绘制通过xvega-bindings实用程序库中实现的微型语言。除了使用迷你语言之外,还可以直接提供可视化的JSON规范。

总结:

xeus-sql的推出,让Jupyter如虎添翼,可以非常方便数据工作者进行数据处理和可视化。同时对于传统dba和数据库用户可以使用Jupyter作为一个便捷的数据库客户端。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210205A04U0X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券