
DuckDB
文章平均质量分 85
分享DuckDB知识及应用实践
梦想画家
开源软件爱好者,乐于博客分享,业余时间喜欢跑步和科幻,希望与意趣相投朋友一起学习交流。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
使用 DuckLake 和 DuckDB 构建 S3 数据湖实战指南
本文介绍了由 **DuckDB** 和 **DuckLake** 组成的轻量级数据湖方案,旨在解决传统数据湖(如Hadoop+Hive)元数据管理复杂、查询性能低及厂商锁定等问题。该方案为中小规模数据湖场景提供了简单、高性能且无厂商锁定的替代选择。原创 2025-06-05 17:16:38 · 1529 阅读 · 2 评论 -
掌握DuckDB高级SQL:解锁数据分析的超能力
窗口函数允许你在不改变原始行的情况下对数据集进行"透视"分析。它们就像为你的数据添加了一个智能分析层。-- 基本窗口函数结构SELECT列名,窗口函数() OVER (PARTITION BY 分组列ORDER BY 排序列) AS 结果列FROM 表名;通过掌握这些高级SQL功能,你已经将你的数据分析能力提升到了一个新的水平!实践出真知- 在真实项目中应用这些技术性能意识- EXPLAIN是你的好朋友持续学习- DuckDB在不断进化现在就去尝试这些技巧吧!原创 2025-04-14 20:22:56 · 1039 阅读 · 0 评论 -
高效数据抽样指南:玩转DuckDB抽样技巧与避坑实战
当面对千万级数据表时,你是否遇到过这些困境?🔥 全表扫描耗时长达30分钟💻 内存不足导致查询中断📊 快速数据探索时总在等待这就是数据抽样技术的用武之地!DuckDB作为新一代分析型数据库,提供三种高效抽样方法。但错误使用会导致报错。本文将带你深入掌握抽样技术,解决95%开发者都会踩的坑。原创 2025-04-08 21:19:44 · 919 阅读 · 0 评论 -
DuckDB中的GREATEST()函数:灵活获取最大值的神器
DuckDB的GREATEST()多数据类型支持:覆盖数值、文本、时间等常见类型隐式类型转换:自动处理兼容类型的混合比较NULL值友好:智能跳过无效数据灵活扩展性:支持跨列动态比较无论是快速筛选极值,还是结合业务逻辑标记数据,GREATEST()都能显著提升代码简洁性和执行效率。掌握其特性与边界条件,将助你在数据处理中游刃有余。原创 2025-04-07 21:17:40 · 284 阅读 · 0 评论 -
DuckDB系列教程:如何分析Parquet文件
Parquet 是一种强大的、基于列的存储格式,适用于实现更快捷和更高效的数据分析。您可以使用 DuckDB 这种内存型分析数据库来处理 Parquet 文件并运行查询以对其进行分析。···在这篇文章中,我们将逐步介绍如何使用 DuckDB 对存储在 Parquet 文件中的餐厅订单数据集进行分析。原创 2025-04-04 20:28:21 · 1231 阅读 · 0 评论 -
DuckDB: 描述性统计分析实战案例
描述性统计为在进行更深入分析之前理解数据集提供了坚实的基础。借助 DuckDB,我们可以直接从 CSV 文件中高效地计算关键指标,使其成为数据探索的理想选择。请尝试在自己的环境中运行这些查询,并对其进行修改以更好地理解数据集。原创 2025-04-01 20:57:14 · 663 阅读 · 0 评论 -
DuckDB统计实战:两步验证用户行为的关键假设
方法论整合使用 DuckDB 高效处理大规模数据集结合 Python 完成卡方检验(分类变量)与皮尔逊相关(连续变量)核心洞见支付方式未显著改变小费行为模式行程时长对小费比例的影响缺乏统计支持扩展建议可进一步探索:不同时间段的费率差异小费金额的分布特性多变量联合分析(如支付方式+时段)通过结构化假设检验流程,DuckDB 为数据驱动决策提供了轻量级解决方案。原创 2025-03-31 16:53:57 · 562 阅读 · 0 评论 -
Golang:使用DuckDB查询Parquet文件数据
本文介绍DuckDB查询Parquet文件的典型应用场景,掌握DuckDB会让你的产品分析能力更强,相反系统运营成本相对较低。为了示例完整,我也提供了如何使用Python导出MongoDB数据。Apache Parquet文件格式在存储和传输大型数据集方面变得非常流行。最近遇到一个典型应用场景,在MongoDB中存储大量结构化数据的成本过高。相反,我们将这些数据以Parquet格式存储在S3中。为了提供偶尔的查询,我们下载S3文件并使用DuckDB加载/查询。原创 2025-01-22 20:13:33 · 768 阅读 · 0 评论 -
DuckDB:Golang操作DuckDB实战案例
DuckDB对Go的支持允许开发人员直接从他们的Go应用程序中执行强大的数据分析操作。强大的数据管理系统和通用高效的编程语言之间的这种集成为更先进的数据处理应用打开了大门。有了本文提供的基础知识,你就可以开始探索这些可能性了。原创 2025-01-21 20:56:15 · 1500 阅读 · 0 评论 -
DuckDB:Golang操作DuckDB实践指南
DuckDB Go驱动程序Go-DuckDB允许通过接口使用DuckDB。有关如何使用此接口的示例,请参阅。Go-DuckDB项目,托管于https://github.com/marcboeker/go-duckdb,是官方的DuckDB Go客户端。本文解释Go操作DuckDB,并结合基本示例和批量追加示例进行说明。原创 2025-01-20 19:23:01 · 947 阅读 · 0 评论 -
Golang结合MySQL和DuckDB提高查询性能
高速分析:DuckDB针对内存,列式存储进行了优化,使其成为分析查询的理想选择。更低的延迟:当处理大型数据集时,DuckDB显著减少了复杂操作所需的时间。灵活的数据存储:使用MySQL存储结构化的事务性数据,同时将分析工作负载卸载到DuckDB以获得更快的见解。有效的资源利用:DuckDB在内存中处理分析工作负载的能力,避免了传统数据库中出现的I/O操作开销。易于扩展:DuckDB的轻量级设计允许它处理更大的数据集,而不需要昂贵的硬件升级。原创 2025-01-16 17:02:29 · 1025 阅读 · 0 评论 -
DuckDB:精通Insert语句处理数据冲突
本文介绍DuckDB insert语句用法,包括常规的批量插入,尤其是插入数据冲突的处理,最后还提及returning子句的用法,每个用法提供示例说明。原创 2025-01-15 20:25:36 · 871 阅读 · 0 评论 -
DuckDB:创建宏复用业务代码
本文介绍DuckDB 宏,包括宏定义、分类、重载等,最后通过完整示例进行实战学习,希望对你有帮助。原创 2025-01-15 15:51:48 · 696 阅读 · 0 评论 -
DuckDB:星号(*)表达式完整指南
本文介绍DuckDB星号的用法,尤其是与其他数据库不同的用法,掌握它可以快速帮你选择和转换列。原创 2025-01-13 16:43:48 · 652 阅读 · 0 评论 -
DuckDB:PRAGMA语句动态配置数据库行为
在 DuckDB 中,PRAGMA 是一种编译指示(compiler directive),它是一种特殊的指令,用于配置数据库的各种内部设置、行为和特性。这些指令可以影响数据库的性能、资源使用、输出显示等诸多方面,就像是为数据库引擎提供了一系列的控制开关和微调旋钮。PRAGMA特点语法简单PRAGMA 的语法相对简洁明了。通常使用PRAGMA关键字加上具体的指令名称和相应的参数(如果需要)来使用。例如,原创 2025-01-08 09:45:26 · 1149 阅读 · 0 评论 -
DuckDB : 日期函数及常用日期转换操作
本文介绍DuckDB常用日期函数,包括日期转换、日期运算、日期单元抽取等。更多日期函数介绍,请参考官方文档。原创 2025-01-06 20:31:19 · 1458 阅读 · 0 评论 -
DuckDB:密钥管理器及其应用
DuckDB 的密码管理器(Secrets Manager)作用是管理诸如数据库连接密码、API 密钥、令牌等敏感信息。它提供了相对安全的方式来存储、访问这些信息,避免在代码或配置文件中以明文形式暴露敏感数据,从而增强了数据安全性。例如,在连接数据库或者调用外部服务时,可以通过这个管理器来安全地获取和使用所需的密钥或密码。原创 2025-01-03 20:22:51 · 1250 阅读 · 0 评论 -
DuckDB:pg_duckdb集成DuckDB和PostgreSQL实现高效数据分析
pg_duckdb扩展将完全能够查询DuckDB中存储在云中的数据,就像它是本地的一样。DuckDB的“双重执行”功能让我们可以无缝地将本地PostgreSQL数据与DuckDB数据连接起来,我们将找出运行查询的最佳位置。作为用户无需关心计算在哪里运行,我们只需要弄清楚如何让它运行得更快。此外,在分析领域中,通常会将数据从事务数据库迁移到分析存储库中。pg_duckdb扩展和DuckDB可以提供帮助;原创 2024-12-24 20:33:11 · 2376 阅读 · 0 评论 -
DuckDB: 如何进行数据库性能测试
TPC-DS(Transaction Processing Performance Council - Decision Support)是由事务处理性能委员会(TPC)制定的一个决策支持基准测试标准,主要用于评测数据库系统在决策支持类应用中的性能,以下是其详细解释:随着数据量的爆炸式增长和企业对数据分析、决策支持需求的不断提高,需要一种标准化的方法来评估数据库系统在处理复杂查询和大规模数据时的性能。TPC-DS 就是在这种背景下应运而生的。原创 2024-12-23 12:08:09 · 1120 阅读 · 0 评论 -
DuckDB:非常有用的元数据查询汇总
DuckDB提供多种元数据查询,包括查看表结构、查询计划、列举所有表、环境变量以及表数据汇总,本文介绍常用几个元数据查询功能,希望对你学习DuckDB有帮助。原创 2024-12-23 11:01:57 · 1234 阅读 · 0 评论 -
DuckDB: 向量索引(vss)的一些注意事项
经过测试,limit位置和距离算法会影响数据库选择索引,当然未来DuckDB会优化的更好,我们也可以采用第三方索引进行规避。原创 2024-12-21 11:20:19 · 913 阅读 · 0 评论 -
DuckDB: 使用枚举数据类型提升性能
DuckDB ENUM看起来很棒,但目前暂时不能修改,使用之前需要预先知道所有枚举值。但请务必多使用它们,它在数据库大小、读写和查询时间方面的好处显然超过了这些不便之处。原创 2024-12-21 09:46:32 · 609 阅读 · 0 评论 -
DuckDB: 快速规范化json数据结构
DuckDB 可以方便地读取包含 JSON 数据的文件。对于JSON 数据的文件,DuckDB 能够直接加载并解析其中的内容。它支持多种读取方式,如通过read_json函数可以将 JSON 数据读入到关系型数据表中。原创 2024-12-20 20:23:17 · 991 阅读 · 2 评论 -
DuckDB:JSON数据探索性分析实战教程
在本博客中,介绍了使用SQL执行探索性数据分析。让你了解如何使用DuckDB(一种内存中的向量化分析数据库)对存储在JSON文件中的半结构化数据执行SQL语句。最后,学习了如何实现十几种不同的SQL函数、语句、操作和子句,以处理各种数据点和数据类型。原创 2024-12-19 19:19:48 · 1810 阅读 · 0 评论 -
duckdb:利用集合操作分析parquet文件结构差异
事实证明,计算Parquet模式差异是DuckDB真正擅长的另一件事!因此,下次遇到不匹配的模式时,请尝试一下。原创 2024-12-19 16:39:06 · 684 阅读 · 0 评论 -
DuckDB: 从MySql导出数据至Parquet文件
驾驭复杂的数据提取和格式转换不仅需要技能,还需要合适的工具。通过本文介绍,我们看到DuckDB如何简化数据导出过程,提供了从MySQL到Parquet的无缝对接方式。通过保持数据完整性、自动处理数据类型和消除繁琐的数据类型转换,DuckDB为数据工程师提供了引人注目的解决方案。原创 2024-12-18 20:08:44 · 1583 阅读 · 0 评论 -
DuckDB: 两种方法实现动态分组查询
在使用关系数据库时,你可能经常遇到需要根据不同的标准生成动态查询的场景。其中一个场景是按多列动态分组数据并计算聚合值,例如sum或average。在本文中,我们将演示如何使用DuckDB实现这一点,重点关注GROUPING SETS和CUBE功能。原创 2024-12-18 09:28:13 · 1031 阅读 · 0 评论 -
DuckDB: 强大的动态列选择能力
DuckDB 1.1版本有几个特性使动态列选择变得更好。如果你duckdb版本较低,可以从下载最新版本进行学习,本文将深入探讨这些特性。包括动态选择列、排除列、基于动态列过滤数据等。原创 2024-12-17 15:20:49 · 1088 阅读 · 0 评论 -
DuckDB:Povit实现数据透视表
透视表(Pivot Table)是一种交互式的数据分析工具,主要用于对大量数据进行汇总、分析和展示。它可以快速地将原始数据按照用户指定的行、列和数据区域进行重新组织和统计,以呈现出数据的不同视角和汇总信息。它主要包括三个要素:行区域(Rows)用于放置一个或多个分类字段,这些字段决定了透视表中数据行的分组方式。例如,在销售数据透视表中,将 “产品类别” 字段放在行区域,那么透视表会按照不同的产品类别对数据进行分组显示,每个产品类别会占据一行。列区域(Columns)原创 2024-12-17 08:30:06 · 1161 阅读 · 0 评论 -
DuckDB:函数链式调用
但是现在我们有点卡住了,因为我们不能链接CAST函数。SELECTnum,虽然解决了cast函数调用问题,但如果我们能把所有东西都锁起来,那还是很酷的。不幸的是,没有可以动态转换值的函数,这有点令人沮丧。原创 2024-12-16 17:21:04 · 674 阅读 · 0 评论 -
DuckDB: 从GitHub批量抽取CSV文件
Jeff Sackmann的是最好的网球数据集合之一,我想使用DuckDB CLI获取ATP巡回赛单打比赛数据。在这篇博文中,我们将学习如何批量获取github远程csv文件数据。原创 2024-12-16 13:51:39 · 581 阅读 · 0 评论 -
使用DuckDB 加载和清洗数据
DuckDB CLI是允许用户直接从命令行与DuckDB交互的工具。前文你看到了如何使用Python与DuckDB交互。但是,有时你只是想直接使用数据库—例如在创建新表、从不同数据源导入数据以及执行与数据库相关的任务时。在这种情况下,直接使用DuckDB CLI要有效得多。本文介绍Duck cli,并使用命令行工具加载数据、清洗数据。原创 2024-12-14 22:41:40 · 1739 阅读 · 0 评论 -
DuckDB快速入门教程
本地化 首先,DuckDB是进程内单文件数据库,没有外部依赖关系。这是什么意思?与Postgres不同,它不需要设置客户端/服务器,也不需要安装外部依赖项。此外,客户端与服务端之间的数据传输速度比正常情况下要慢。另一方面,DuckDB嵌入到主机应用程序进程中,并管理存储在单个文件中的数据库。没有客户机/服务器,安装起来很简单。如果你需要运行DB来进行本地数据分析,那么它就是你的选择!性能 其次,DuckDB针对分析查询工作负载(OLAP)进行了高度优化。原创 2024-12-14 21:14:32 · 3676 阅读 · 0 评论