数据引擎
强大的数据接入能力 通用数据服务接口 安全的数据管控
(center STRUCT(x DOUBLE, y DOUBLE, z DOUBLE),
"type" VARCHAR,
rotation STRUCT(pitch DOUBLE, roll DOUBLE, yaw DOUBLE),
size STRUCT(x DOUBLE, y DOUBLE, z DOUBLE),
tracker_id UBIGINT,
occlusion UBIGINT)
cur.execute('SET SESSION group_concat_max_len = 10240;')
sqlite> .limit
SQLITE_MAX_LENGTH SQLITE_MAX_COLUMN SQLITE_MAX_SQL_LENGTH
duckdb
character_maximum_length
https://duckdb.org/docs/sql/information_schema
Python-duckdb
fetchone
不管查询结果是多条数据还是单条数据,使用fetchone得到的始终是一个元组。
如果查询结果是单条数据:fetchone得到的单条数据的元组;
如果查询结果是多条数据:fetchone默认是结果中的第一条数据构成的元组;
这就决定了如果需要取元组中的数值,需要使用cur.fetchone[0]
fetchall
不管查询结果是多条数据还是单条数据,使用fetchall得到的始终是一个由元组组成的列表。
如果查询结果是单条数据:fetchall得到的是由单个元组组成的列表,列表内是有单条数据组成的元组,即列表包含元组;
如果查询结果是多条数据:fetchall得到的是由多个元组组成的列表;
这就决定了如果需要取元组中的数值,需要使用cur.fetchone[0][0]
使用场景
一般来说,查询结果集是单条数据的,使用fetchone获取数据
一般来说,查询结果集是多条数据的,使用fetchall获取数据
对于使用fetchone和fetchall获取到的结果,最好使用之前先判断非空,否则在存在空值的情况下获取元组内的数据时,会报“超出索引”的异常。多次踩雷坑
数据类型与函数
###元数据
current_schema() md5(string) hash(value) txid_current() uuid()
数据类型:General-Purpose Data Types ested / Composite Types
数值类型:Integer Types
The types TINYINT, SMALLINT, INTEGER, BIGINT and HUGEINT store whole numbers
UTINYINT, USMALLINT, UINTEGER, UBIGINT
Fixed-Point Decimals
DECIMAL(WIDTH,SCALE)
loating-Point Types
REAL DOUBLE Infinity -Infinity NaN
文本和字符串: strings can be stored in the VARCHAR field
布尔类型: Boolean Type
空值: NULL Values
枚举类型: Enums
The blob (Binary Large OBject) type : such as images
函数: decode encode
Bitstrings 位串Bitstrings are strings of 1’s and 0’s.
时间的 DATE, TIMESTAMP, or TIMESTAMP WITH TIME ZONE TIMESTAMPTZ Calendar
Interval 区间: years, days, or seconds
表达式
collations 校勘 NOCASE, NOACCENT and NFC
函数
嵌套数据类型- 列表,结构体以及字典 nested data types: lists, structs, and maps.
LIST column can have values with different lengths, but they must all have the same underlying type.==Postgres’s ARRAY type.
STRUCT column contains an ordered list of other columns called “entries”.: Each row Each key
MAPs must have a single type for all keys, and a single type for all values.
UNION they can contain multiple members of the same type, the tag names must be unique at most 256 members.
嵌套函数-- Nested Functions
list[index] list_extract(list, index) array_extract(list, index) list_pack(any, ...) list[begin:end] array_length(list) list_concat(list1, list2)
array_sort array_reverse_sort list_unique
struct.entry struct[entry] struct_extract(struct, 'entry') struct_pack(name := any, ...)
map[entry] map_extract(map, key) map()
union.tag union_extract(union, 'tag') union_value(tag := any)
Lambda Functions generate_series list_aggregate list_filter(list, lambda)
窗口函数: Window Functions
row_number() OVER rank_dense() rank() dense_rank() percent_rank()
TABLESAMPLE
元函数:
Information Schema the catalog entries of the databas
Metadata Functions: duckdb_functions() duckdb_tables() duckdb_types duckdb_views()
配置
either the SET statement or the PRAGMA statement.
执行计划:
荷兰-The Kingdom of the Netherlands-尼德兰
Holland一词将变为 Netherlands 风车、围海大堤以及郁金香
荷兰的国家元首为奥兰治-拿骚家族成员担任的世袭君主,现任国王为威廉-亚历山大。是世袭君主立宪王国,
立法权属国王和议会, 一院(参议院) 二院(众议院)
行政权属国王和内阁。枢密院为最高国务协商机构,主席为国王本人,其他成员由国王任命
飞利浦
印欧语系日耳曼语族西支 荷兰海牙 郑成功从荷兰殖民者手里收复台湾
荷兰国家数学与计算机科学研究学会,荷语名为 Centrum Wiskunde & Informatica (简称 CWI 或 CWI Amsterdam)
R-language
R语言的创始人Ross Ihaka和Robert Gentleman,由于这两位“R之父”的名字都是以R开头,所以就称之为R语言。
George Ross Ihaka:正在奥克兰大学统计系任副教授,新西兰第一大城市奥克兰市
ggplot2 Hadley Wickham,出生于新西兰
python
荷兰阿姆斯特丹
Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品
吉多·范罗苏姆(Guido van Rossum) ,是一名荷兰计算机程序员,他作为 Python 程序设计语言的作者而为人们熟知
pandas Wes McKinney是美国软件开发人员和商人
DuckDB 是阿姆斯特丹 Centrum Wiskunde&Informatica (CWI)数学和理论计算研究中心的学者们的创意,
它嵌入在一个主机进程中。无需安装、更新或维护 DBMS 服务器软件。
联合创始人兼首席执行官 Hannes Mühleisen 也是该代码的共同作者并维护该项目
MonetDB 是一个开源的列存储关系数据库管理系统(RDBMS) 荷兰阿姆斯特丹 Martin L. Kersten
Ruby之父 ,Matsumoto Yukihiro(松本行弘),
C++和 C#的创造者都是丹麦人,母语是丹麦语,你可以说丹麦人发明了C和C++
Lua的创造者是巴西人,母语是葡萄牙语,
Pascal的创造者是瑞士人,母语好像是德语
Advent of Code 年度系列的日常编码挑战,发生在年终假期期间 在 12 月 1 日至 25 日期间,每天都会发布一个新谜题
https://adventofcode.com/
December 1-25. It has run every year since 2015
LeetCode https://leetcode.cn/
代码示例
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import duckdb
# 创建DB(嵌入式DBMS)
conn = duckdb.connect(r'D:\coda_sample\dataset\parsejson.duckdb')
c = conn.cursor()
# 通过从CSV中导入内容创建表格 一个全新的数据库,添加了两个新表,并用所有数据填充了它们
src_data = r"D:\data\test.json"
c.execute( "drop table IF EXISTS features ")
## json_format Can be one of ['auto', 'records', 'array_of_records', 'values', 'array_of_values']
sql_cmd= "CREATE TABLE features AS SELECT * FROM read_json('{}',auto_detect=true,json_format='records');".format(src_data)
print(sql_cmd)
c.execute( sql_cmd)
#查询数据
data = c.sql("SELECT * FROM features")
print(data)
print(c.sql("SELECT json_valid(array_to_json(labels)) FROM features"))
print(c.sql("COPY (SELECT labels FROM features) TO 'D:\data\lineitem.csv' (FORMAT CSV, DELIMITER '|', HEADER);"))
## 查看元数据
print(c.sql("SHOW TABLES"))
print(c.sql("DESCRIBE"))
print(c.sql("DESCRIBE features"))
##
print(c.sql("SELECT struct_extract(features,'pint_ath') FROM features"))
print(c.sql("SELECT len(struct_extract(features,'labels') ) FROM features"))
print(c.sql("SELECT typeof( labels) FROM features"))
total_num= c.execute( "SELECT len( labels) FROM features").fetchone()
if total_num is not None:
print(type(total_num),total_num)
for num in range(total_num[0]):
print(num)
print(c.sql("SELECT labels[47] FROM features"))
print(c.sql("SELECT struct_extract(struct_extract(features,'labels')[1],'occlusion') FROM features"))
print(c.sql("SELECT struct_extract(struct_extract(features,'labels')[1],'center') FROM features"))
print(c.sql("SELECT struct_extract(labels[47],'type') FROM features"))
# dst_data = r"D:\coda_sample\road_pipe\dataset\old_songs.parquet"
# dst_sql_cmd = "COPY ( SELECT * FROM features ) TO '{}' (FORMAT PARQUET); ".format(dst_data)
# print(dst_sql_cmd)
# c.execute(dst_sql_cmd)
应用
https://github.com/jwills/dbt-duckdb
Segment Anything
1.Task, Model and Data
Segment Anything Model
an image encoder, prompt encoder, and mask decoder.
Vision Transformer(ViT) architecture.
sparse dense
Segment Anything Data
data engine: Manual stage Semi-automatic stage Fully automatic stage
Dataset: Segment Anything Dataset
Segment Anything Task
user input prompt
Demo and apply
deployment employment
参考
https://segment-anything.com/
https://github.com/facebookresearch/segment-anything
https://github.com/facebookresearch/segment-anything#model-checkpoints
)sqlite中的限制:数据库大小、表数、列数、行数、参数个数、连接数等 转载 https://blog.51cto.com/u_15786574/5665045