文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

xeus-sql:让Jupyter支持SQL处理

2024-12-03 11:50

关注

[[381200]]

此前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安装命名的环境:

  1. conda create -n xeus-sql 
  2. conda activate xeus-sql 

从conda安装

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

  1. conda install xeus-sql jupyterlab -c conda-forge 

或者使用mamba:

  1. mamba install xeus-sql jupyterlab -c conda-forge 

或者可以分别安装:

  1. mamba install xeus-sql soci-mysql -c conda-forge 
  2. mamba install xeus-sql soci-postgresql -c conda-forge 
  3. mamba install xeus-sql soci-mysql -c conda-forge 

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

使用方法

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

  1. %LOAD mysql db=dbname user=user1 password='Password123#@!' 

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

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

  1. show databases; 
  2. SELECT * FROM test 
  3. INSERT INTO example VALUES (2, 'Core') 
  4. SELECT * FROM example 
  5. INSERT INTO example VALUES (3, 'Table') 

其他数据库后端也类似:

firebird:

  1. %LOAD firebird service=firebird.fdb user=SYSDBA 

postgresql:

  1. %LOAD postgresql dbname=newdvdrental 

可视化查询

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

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

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

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

总结

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

 

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯