DuckDB 0.7.0 发布,高性能分析型数据库系统
DuckDB 是一个高性能的分析数据库系统,它快速、可靠、易于使用。DuckDB 提供了丰富的 SQL 方言,支持远远超过基本 SQL,且支持任意的和嵌套的相关子查询、复杂类型等。
DuckDB 0.7.0 新版本包含对 JSON 支持的许多改进、新的 SQL 功能、对数据摄取和导出的改进以及其他新功能。以下是最具影响力的更改摘要:
JSON 提取
这个版本介绍了read_json
和read_json_auto
方法,可用于将 JSON 文件提取为表格格式。类似read_csv
,该read_json
方法需要指定模式,而read_json_auto
使用采样自动从文件中推断出 JSON 的模式。
支持换行分隔的 JSON 和常规JSON 。
FROM 'data/json/with_list.json';
分区 Parquet/CSV 导出
DuckDB 支持提取配置单元分区的 Parquet 和 CSV 文件已有一段时间了。在此版本之后,DuckDB 还将能够使用 PARTITION_BY
子句写入配置单元分区的数据。这些文件可以在本地或远程导出到 S3 兼容存储。这是一个本地示例:
COPY orders TO 'orders' (FORMAT PARQUET, PARTITION_BY (year, month));
多数据库支持
附加功能,此版本增加了对将多个数据库附加到同一个 DuckDB 实例的支持。允许数据在不同的 DuckDB 数据库文件之间传输,也允许来自不同数据库文件的数据在单独的查询中组合在一起。
也可以附加远程 DuckDB 实例(存储在 Github 等网络可访问位置)。
ATTACH 'new_db.db'; CREATE TABLE new_db.tbl(i INTEGER); INSERT INTO new_db.tbl SELECT * FROM range(1000); DETACH new_db;
有关详细信息,请参阅文档。
SQLite 存储后端。
除了添加对附加 DuckDB 数据库的支持外,此版本还添加了对可插入数据库引擎的支持。允许扩展定义自己的数据库和可以附加到系统的目录引擎。
一旦附加,引擎就可以支持读取和写入。SQLite扩展利用它向 DuckDB 添加对 SQLite 数据库文件的本地读/写支持。
新的 SQL 特性
此版本使用 ON CONFLICT
子句以及 SQLite
兼容的 INSERT OR REPLACE
/ INSERT OR IGNORE
语法添加了 Upsert 支持。
ATTACH 'sqlite_file.db' AS sqlite (TYPE sqlite); CREATE TABLE sqlite.tbl(i INTEGER); INSERT INTO sqlite.tbl VALUES (1), (2), (3); SELECT * FROM sqlite.tbl;
有关详细信息,请参阅文档。
Python API 改进
此版本通过允许查询关系,使用 Python API 引入了更轻松的增量查询构建。这允许将长 SQL 查询分解为多个较小的 SQL 查询,并轻松检查查询中间体。
>>> import duckdb >>> lineitem = duckdb.sql('FROM lineitem.parquet') >>> lineitem.limit(3).show()
此版本的 DuckDB 命名为“Labradorius” ,源于产于北美的拉布拉多鸭 (Camptorhynchus labradorius) 。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
CrateDB 5.2.2 发布,分布式 SQL 数据库
CrateDB 是一个分布式的 SQL 数据库,使得实时存储和分析大量的机器数据变得简单。CrateDB 提供了通常与 NoSQL 数据库相关的可扩展性和灵活性,最小的 CrateDB 集群可以轻松地每秒摄取数万条记录。这些数据可以在整个集群中实时地、临时地、并行地进行查询。 CrateDB 5.2.2 正式发布,该版本更新内容如下: 修复 修复了crate-node cli工具,使其在Linux、MacOSX和Windows环境下从crateDB分发目录中运行时,不要求path.home和/或path.conf参数。 删除了5.2.1中引入的自动修复机制,该机制适用于因表交换语句而导致的元数据损坏,如: ALTER CLUSTER SWAP TABLE "myschema"."mytable" TO "myschema.mytable"; 并通过运行以下命令提供手动解决此类问题的方法: bin/crate-node fix-metadata 改变了pg_catalog.pg_type表中的typsend和tyreceive值,使之与PostgreSQL匹配,以提高兼容性。像P...
- 下一篇
qttabbar v1.5.5-beta.9 已经发布
此版本更新内容包括: v1.5.5-beta.9修复文件捕获选中/Fix Capture to select 微信、qq、钉钉捕获并选中 修复快捷插件无法打开配置选项窗口bug 修复日志文件写入问题(该文件已经打开异常) 修复安装包检测旧版bug 修复重名标签后缀错乱问题 修复标签设置图片的问题 修复微信或者qq打开文件未选中 网络文件夹关闭预览功能 默认加载最近关闭工具栏 预览文本支持不同格式编码,支持主流 GB2312、UTF8Bom、UTF8NoBom、UTF16LeBom、UTF16BeBom、UTF16NoLeBom、UTF16NoBeBom等 SetHome插件修复设置环境变量PATH失效问题详细查看 安装教程 安装教程 来如流水逝如风,何处来兮何所终。 沧海茫茫挂帆去,天涯从此各西东。 详情查看:https://gitee.com/qwop/qttabbar/releases/v1.5.5-beta.9
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果