下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

数据库让Jupyter支持SQL处理

作者:虫虫安全     来源: 今日头条点击数:1142发布时间: 2022-01-17 15:11:27

标签: 软件工程师数据库设计网络推广

xeus-sql:让Jupyter支持SQL处理

这种数据集合具有如下特点:尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改、查由统一软件进行管理和控制。从发展的历史看,数据库是数据管理的高级阶段,它是由文件管理系统发展起来的。

大家都知道关系数据库是数据存储的最重要的载体,那么对数据库的支持是Jupyter数据科学界一个迫切的需求。

现在用Jupyter进行数据处理,对数据工作者来说已经不是一个新鲜事情了。然而如何将大量数据导入却是一个比较棘手的事情。大家都知道关系数据库是数据存储的最重要的载体,那么对数据库的支持是Jupyter数据科学界一个迫切的需求。

数据库让Jupyter支持SQL处理_软件工程师_数据库设计_网络推广_课课家

此前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作为一个便捷的数据库客户端。

严格来说,数据库是长期储存在计算机内、有组织的、可共享的数据集合。数据库中的数据指的是以一定的数据模型组织、描述和储存在一起、具有尽可能小的冗余度、较高的数据独立性和易扩展性的特点并可在一定范围内为多个用户共享。

赞(0)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程