DuckDB学习-初识tpcds

news2025/7/20 9:34:17

DuckDB学习-1

文章目录

  • DuckDB学习-1
    • 跑TPC-DS
      • 编译DuckDB支持TPC-DS扩展
      • 执行数据生成及查询
    • TPC-DS简单分析(v3.2.0)
      • 事实表
      • 维度表

跑TPC-DS

编译DuckDB支持TPC-DS扩展

下载代码,然后进源码目录,执行下面两个步骤。
export BUILD_TPCDS=1
make debug

执行数据生成及查询

在build/debug下可以看到duckdb二进制,直接执行它
./duckdb tpcds.db 这样可以让数据持久化
在这里插入图片描述
接着执行call dsdgen(sf=0.01) 生成10MB的tpcds测试数据。

可以开始执行tpcds语句测试了,执行pragma tpcds(1)执行第一条query语句,参数是查询语句的序号,范围是1~99。

如果想看语句的原始语句,可以通过翻源码,在extension/tpcds/include/queries下有99条语句的duckdb改写版。

TPC-DS简单分析(v3.2.0)

事实表

Store_Sales
表中每行代表一个单独的订单项,这些订单项都是通过店铺渠道销售的,并且记录在事实表store_sales中。

Store_returns
表中每行代表一个单独的退货项,这些退货项都是通过店铺渠道销售的,并且记录在事实表store_returns中。

Catalog_sales
表中每行代表一个单独的订单项,这些订单项都是通过目录渠道销售的,并且记录在事实表catalog_sales中。

Catalog_returns
表中每行代表一个单独的退货项,这些退货项都是通过目录渠道销售的,并且记录在事实表catalog_returns中。

Web_sales
表中每行代表一个单独的订单项,这些订单项都是通过网络渠道销售的,并且记录在事实表web_sales中。

Web_returns
表中每行代表一个单独的退货项,这些退货项都是通过网络渠道销售的,并且记录在事实表web_returns中。

Inventory
表中每行表示指定周特定仓库中某商品的数量。

维度表

Stores
该维度表中每行显示一个商店的细节信息。
Call Center
该维度表中每行显示一个呼叫中心的细节信息。
Catalog_page
该维度表中每行显示一个目录页的细节信息。
Web_site
该维度表中每行显示一个网站的细节信息。
Web_page
该维度表中每行显示一个网页的细节信息。
Warehouse
该维度表中代表显示一个存货仓库的信息。
Customer
该维度表中每行代表一个顾客的信息。
Customer_address
该维度表中每行代表一个唯一的顾客地址信息(有些顾客会有不止一个地址)。
Customer_demographics
顾客人群统计表中,有一行是用来显示特定的人群信息组合。
Date_dim
该表中,每一行代表一个公历日。该行的儒略日可以用作代理关键字(d_date_sk)
Household_demographics
该表中,每一行表示一个家庭人群状况。
Item
该表中,每一行表示一个特定产品的构成(例如,尺寸,颜色,制造商等)。
Income_band
该表中的每一行表示一个收入范围的信息。
Promotion
该表中,每行表示一个特定商品的促销信息(例如广告,销售,公关)。
Reason
此表中的每一行表示一个被退货的商品的退货原因。
Ship_mode
此表中的每一行表示一种运送模式。
Time_dim
该表中每行表示一秒。
dsdgen_version
基准测试时不会用到这个表,dsdgen会生成一个flat file(见附录F),这个文件可以确保你在使用时,当前的数据集是由正确版本的TPC-DS搭建的。

参考:

  1. https://github.com/duckdb/duckdb
  2. https://blog.csdn.net/github_38325884/article/details/72835953?ops_request_misc=&request_id=&biz_id=102&utm_term=TPC-DS&utm_medium=distribute.pc_search_result.none-task-blog-2blogsobaiduweb~default-5-72835953.nonecase&spm=1018.2226.3001.4450

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/7970.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Word控件Spire.Doc 【文本】教程(19) ;如何在 C#、VB.NET 中通过 Word 中的正则表达式查找和替换文本

Spire.Doc for .NET是一款专门对 Word 文档进行操作的 .NET 类库。在于帮助开发人员无需安装 Microsoft Word情况下,轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档。拥有近10年专业开发经验Spire系列办公文档开发工具,专注于创建、编辑、转…

【附源码】计算机毕业设计JAVA车辆调度管理系统

【附源码】计算机毕业设计JAVA车辆调度管理系统 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: JAVA my…

计算机毕业设计ssm+vue基本微信小程序的健康食谱交流共享平台

项目介绍 当今社会健康食谱交流共享买卖是必不可少的,人们不管走到哪里都需要有一个健康的身体,有一个强迫的体质,所以健康食谱交流共享市场也是非常火爆!不管是健康食谱交流共享公司或者是个人都需要一套完整的管理系统来掌握整个市场信息。针对这一需求,本文设计并…

一步一步教你安装部署 Jenkins,不信你安不上

1、可以去官网 Jenkins 下载jenkins.war包 这里有个坑:jenkins下载的版本需要和jdk版本匹配 我的jdk是1.8,这里选择jenkins版本为2.332.4,下面的链接是jenkins.war安装包直接用 链接:百度网盘 请输入提取码 提取码:8bxy 2、使…

【C++】模板template

前言:本教程使用到的工具是vs2010; 目录 为什么要使用模板? template模板 函数模板 类的模板 template模板的本质 总结 为什么要使用模板? 我们先来大概了解一下模板的概念,下面是菜鸟教程对于模板给出的解释&am…

每天5分钟快速玩转机器学习算法:带有核函数的支持向量机模型

本文重点 硬间隔和软间隔都是在说样本的完全线性可分或者大部分样本点的线性可分。但我们可能会碰到的一种情况是样本点不是线性可分的,比如: 那么这个时候支持向量机软硬不吃,此时要想解决这个问题,我们可以使用一种魔法,我们将他们映射到一个高维空间中,然后再高维空…

链表相关OJ及方法总结

目录​​​​​​​ 第一类:改变链接关系 第二类:快慢指针 第一类:改变链接关系 1. 删除链表中等于给定值 val 的所有结点。 (1)原地删除 struct ListNode* removeElements(struct ListNode* head, int val){if(headNULL){return head…

一般人我劝你还是要不自学软件测试.....

软件测试基础真的很简单,是个人稍微认真点都能懂,这就是好多人说软件测试简单、易懂、好学,然后就是一顿浮夸的言论,误导那些小白,这里我就给那些轻浮的人泼一桶冷水,懂和学会是一码事吗? 这里…

如何高效填写软件测试缺陷报告?

软件缺陷的描述是软件缺陷报告的基础部分,需要使用简单、准确、专业的术语来描述缺陷。否则,它就会含糊不清,可能会误导开发人员,影响开发人员的效率,也会影响测试人员自身的声誉,准确报告缺陷是非常重要的…

[附源码]java毕业设计基于SSM的酒店管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

高新技术企业的认定条件(三)

十、企业创新能力评价 企业创新能力主要从知识产权、科技成果转化能力、研究开发组织管理水平、企业成长性等四项指标进行评价。各级指标均按整数打分,满分为100分,综合得分达到70分以上(不含70分)为符合认定要求。具体分值如下&…

opencv4.5.5安装的坑

opencv4.5.5安装的坑 Package opencv was not found in the pkg-config search path. Perhaps you should add the directory containing opencv.pc’ to the PKG_CONFIG_PATH environment variable No package ‘opencv’ found 我把对应目录的opencv4.pc修改成了opencv.pc,运…

记录<一个多SDK中引入ffmpeg出现的top1的crash问题>解决方案

文章目录一. 背景二. 分析、定位crash源代码三. 分析汇编四. 分析源码五. 思考一. 背景 App从某个版本开始突然收到一例高频crash,,crash信息如下 crash栈如下: crash栈信息很少,只能看出是线程刚启动就crash了,内存…

Java【类和对象】,你还没对象?我教你new一个!

文章目录前言一、初识面向对象1.什么是面向对象2.面向对象过程二、类的定义与使用1.什么是类2.如何定义类3.示例三、类的实例化1.什么是类的实例化2.类和对象的说明四、this引用1.为什么要有this引用第一种情况第二种情况2.什么是this引用3.this引用的特征五、对象的构造及初始…

ubuntu上运行make menuconfig两种报错

1) 如果如上报错,没有target,这是因为运行这个make的时候没在对应的目录下运行,通常是有make的目录,这种系统性的编译的,则是应该在代码的根目录。在根目录下用根目录下的make。 2)然后我来到根…

Restful 接口设计-前言(手把手教你入门到精通)

文章目录前言一:什么是API分类一分类二前言二:Web的发展前言三:传统开发模式VS前后端分离传统的开发模式前后端分离了解API和Web的发展有利于帮助你掌握Restful接口设计 前言一:什么是API API(Application Programmi…

第三章 多维随机变量及其分布

思维导图 基础知识 二维随机变量 我们研究一个多维的东西,往往先从较低的维度比如说二维作为主要的研究对象,一个是因为维度低会比较简单,易于理解;另一个则是考试中低维的问题往往更加常见 定义与分布函数 定义上其实很简单&am…

双亲委派机制

Java 虚拟机对 class 文件采用的是按需加载的方式,也就是说当需要使用该类时才会将它的 class 文件加载到内存生成 class 对象。而且加载某个类的 class 文件时,Java 虚拟机采用的是双亲委派模式,即把请求交由父类处理,它是一种任…

【Pytorch with fastai】第 6 章 :其他计算机视觉问题

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

【MySQL】数据库中表的增删查改操作详解

文章目录前言SQL的通用语法一、表的创建与表的新增语法数据类型的介绍演示二、表的删除语法删整张表的语法删记录的语法演示三、表的查询查询整张表(一)全列查询(二)指定列查询(三)带表达式的查询&#xff…