ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

duckdb_创建新的数据类型作为检查的方式

duckdb_创建新的数据类型作为检查的方式

数据新思路

将标注数据,通过read_json的方式读取出来,通过 unnest 把数据分解成多行
根据enum创建表-- crate type
将数据写入到表中 merge into对标注数据进行校验
其他命令  split_part filename  

DuckDB的复合类型系统建立在灵活的类型框架之上,

 1.允许用户通过 CREATE TYPE 语句定义自定义类型别名CREATE TYPE mood AS ENUM ('happy', 'sad', 'curious');CREATE TABLE person (name TEXT,current_mood mood);INSERT INTO person VALUES('Pedro', 'happy'),('Mark', NULL),('Pagliacci', 'sad'),('Mr. Mackey', 'ok');	  
##DROP TYPE enum_name;  DROP TYPE mood

C 语言

   在C语言中,联合(union)和枚举(enum)是两种强大的数据类型,它们为开发者提供了灵活且高效的数据管理方式联合体的声明语法和结构体非常相似,仅关键字不同(union 替代 struct)

duckdb

 UNION 是“或”的关系 —— 只有一个选项当前有效

bitmap-位图

 索引序号代表对应的值,bitmap默认值都为0  使用boolean类型来存储数据。例如记录用户每天签到,签到了是1,没签则为0功能: setbit  getbit  bitops  bitcountRoaringBitmap是一种高效的Bitmap压缩算法,目前已被广泛应用在各种语言和各种大数据平台。适合计算超高基维的,常用于去重、标签筛选、时间序列等计算中	bit_count and bitstring_agg 在数据稠密 bit_count(bitstring_agg())还是比count(DISTINCT …)更快。传统SQL:sqlSELECT COUNT(DISTINCT user_id) FROM events WHERE day = '2025-01-01';BITSTRING优化方案(假设user_id是1~10000的整数):sql SELECT bit_count(bitstring_agg(user_id, 1, 10000)) AS distinct_usersFROM events WHERE day = '2025-01-01';历史场景: 用户id     限制:操作数长度必须一致,不同长度位串无法直接 &、|、xor		

分组等

窗口函数 + 子查询(标准 SQL)ROW_NUMBER() OVER (PARTITION BY name ORDER BY date DESC) 为每个 name 组内按日期倒序编号,最新日期的行编号为 1。
QUALIFY 是 DuckDB 对 SQL 标准的扩展,直接在窗口函数后过滤,无需嵌套子查询,可读性最佳  

观念或tips

 1.思路二: ibis python Python数据类型检查体系包含基础检查、继承验证、类型注解三大层级2.Arrow 数据类型	3.AI的发展太快,新的产品的迭代太快,我们希望能追随AI的能力很迫切PG 有着不可动摇的速度和能力,和优势。 目前AI的部署和应用都在初级阶段4. Grok 是Logstash 中一个强大的正则表达式匹配库regexp_extract的两种调用方式,特别是name_list参数可以将捕获组按名称映射为STRUCT字段,这实际上就是Grok命名捕获的Grok 的本质是 “预定义的正则表达式 + 命名捕获组 + 模式复用”     		 简单解析用原生regexp,复杂日志生态用duck_hunt,极端定制需求用宏封装5.adtk 是专门做异常检测的工具箱	 adtk(Anomaly Detection Toolkit)是无监督异常检测的python工具包6.数据清洗:用 SQL 做“类 Git 版本管理” DuckDB 支持 CREATE TABLE AS SELECT,每清洗一次就新建一张视图,方便回滚数据库存储:一次写入,多读共享把清洗后的 Parquet 挂成 DuckDB 的 external table,后续 API 层直接 SELECT * FROM answers_clean,无需再搬fastapi接口	7.http://github.com/0039fy/CSV-Tools-Pro/blob/main/CSV.py	
返回列表