问题标签 [duckdb]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
68 浏览

r - DuckDB 不会在免费的 AWS EC2 实例上编译。预编译包是解决方案吗?

我正在尝试在免费层 AWS EC2 上设置一个闪亮的服务器来测试我的应用程序,但我无法编译和安装所有包。

例如鸭数据库

在连接到我的实例的终端中,我粘贴:

它只是手:

我读过这可能是因为它用完了 RAM,但我不知道如何解决这个问题。以前有人遇到过这个问题吗?预编译包是解决方案吗?

0 投票
0 回答
88 浏览

r - 在 Shiny 应用程序中运行 DuckDB 时关闭数据库连接的问题

我有一个 flexdashboard,其中包含上传到服务的 mtcars 数据库的鸭子数据库。问题是它只会显示mtcars一次数据库。如果我点击刷新或关闭窗口并重新打开,它将不会再次连接到它。我必须重新保存 .Rmd 文件并将其重新上传到服务器(未进行任何更改)。到底是怎么回事?

0 投票
0 回答
32 浏览

appender - 日期时间类型的duckdb appender C api

DuckDB C 头文件 (duckdb.h) 不包括日期、时间、时间戳类型的“附加器”风格,并且它们也没有在 duckdb-c.cpp 中实现。(版本 0.2.5)

有什么解决方法吗?

PS。如果我将 Date::FromDate 翻译成我自己的自定义代码,我可以将该结果传递给 duckdb_append_int32 吗?

0 投票
1 回答
120 浏览

r - 将 SQLServer 表直接传输到 R 中的 DuckDB

我最近一直在阅读 DuckDB,大多数示例都涉及在 R 会话中已有某种数据,然后将这些数据推送到 DuckDB。

这是使用 iris 数据集的基本示例;

假设我在 sql server 表中有数据,并且想直接将该数据写入鸭子数据库。

有没有办法做到这一点?

如果我有一个 sql 查询

并想直接将其读入 DuckDB,那将如何工作?我在网上没有看到任何这样的例子

  1. 那将如何运作?
  2. 这甚至会是一个聪明或可取的方法吗?
0 投票
1 回答
83 浏览

java - Java 中 DuckDb 本机代码的 UnsatisfiedLinkError

尝试在 EC2 实例上打开与 DuckDb 的连接时:

我收到以下错误:

开码连接如下:

DuckDb 作为 gradle 中的依赖项添加:

相同的代码在 Windows 和 Linux 上本地运行。有任何想法吗?

0 投票
1 回答
57 浏览

sql - 有没有办法在 DuckDB 中按 15 分钟的间隔进行分组?

我做了一张桌子

我想以 15 分钟的间隔对行进行分组,所以我试图这样做:

通过这个查询,我只能按小时获得。但是我无法将其修改为几分钟。

查询如何按 15 分钟的间隔分组?

0 投票
1 回答
184 浏览

python - DuckDB python API:查询组合

假设我将 DuckDB 与 python 一起使用,用于查询 Apache parquet 文件test.pq,其中包含两列f1f2.

现在我想r1在另一个查询中使用结果,例如:

但是,最后一条指令给出:RuntimeError: Catalog Error: Table with name r1 does not exist!

我是否缺少与 Apache Spark 等效的 DuckDB 方法registerTempTable()

0 投票
0 回答
113 浏览

r - 如何限制 Duckdb 在 R 中的内存使用量?

我有几个大的 R data.frames,我想将它们放入本地的duckdb 数据库中。我遇到的问题是即使我将文件指定为位置,duckdb 似乎也会将所有内容加载到内存中。

另外,我不清楚建立连接的正确方法(所以我不确定这是否与它有关)。我努力了:

并且:

两者都可以正常工作,这意味着我可以创建表、使用 dbWriteTable、运行查询等。但是,内存使用率非常高(与 data.frames 的大小大致相同)。我想我在某处读到,duckdb 默认使用一定百分比的可用内存,这对我不起作用,因为我使用的系统是共享资源。我还想并行运行一些查询,这将提高内存使用率。

我试过这个:

但这似乎没有什么区别,即使我关闭连接,关闭实例并重新连接。

有谁知道我该如何解决这个问题?当我将数据写入表时,RSQLite 也会暂时占用大量内存,但随后它会恢复正常,如果我打开只读连接,这根本不是问题。我想让duckdb工作,因为我认为查询应该更快。任何帮助,将不胜感激!

0 投票
1 回答
99 浏览

database - 如何将 Infinity 值插入 DuckDB 中的 REAL/FLOAT4 列?

假设我有一个名为 table_1 的表,其中有一个名为 col_1 的列,它在 DuckDB 中属于 REAL/FLOAT4 类型。如何将 -Infinity、NaN 和 Infinity 等特殊浮点值插入 col_1?我尝试以多种不同的方式插入这些值,例如“infinity”、“+infinity”、“inf”、“+inf”等,但没有成功。我能够将值插入到 PostgreSQL 表中,但不能使用 DuckDB,即使它们在网页上使用和更新这些值的描述相同。例如,这里有一些示例插入语句,它们在我的带有 REAL 列的 PostgreSQL 表中有效,但在我的 DuckDB 表中无效。

如果我在 DuckDB 表中使用 REAL/FLOAT4 列尝试这些查询,我会收到与此类似的错误。

转换错误:无法将字符串“Infinity”转换为 FLOAT

下面是 DuckDB 对特殊浮点值的描述。我还发布了数字类型的两个数据库描述的链接,其中包括关于特殊浮点值的描述。

“除了普通的数值,浮点类型还有几个特殊的值:

Infinity -Infinity NaN

它们分别代表 IEEE 754 特殊值“无穷大”、“负无穷大”和“非数”。(在浮点运算不遵循 IEEE 754 的机器上,这些值可能无法按预期工作。)在 SQL 命令中将这些值写为常量时,必须在它们周围加上引号,例如:UPDATE table SET x ='-无穷大'。在输入时,这些字符串以不区分大小写的方式被识别。”

DuckDB 数字 https://duckdb.org/docs/sql/data_types/numeric

PostgreSQL 数字 https://www.postgresql.org/docs/current/datatype-numeric.html

0 投票
1 回答
160 浏览

python - 将 Python DuckDB 表插入 SQL 语句

我正在尝试使用已注册的虚拟表作为 SQL 语句中的表,并使用与另一个数据库的连接。我不能只是将列转换为字符串并使用它,我需要表/数据框本身在语句中工作并与 SQL 语句中的其他表连接。我正在一个 Access 数据库上尝试这个来启动。这是我到目前为止所拥有的:

我在 Excel 工作表中有一个 ID 列表,我试图将其用作数据库查询的过滤器。最终,这将形成同一张表中的几个标准:日期、收入和 ID 等。
老实说,我很惊讶我在做这件事时遇到了这么多麻烦。在 SAS 中,使用 PROC SQL 非常简单,但我无法获得一个数据框来按照我的需要在 SQL 参数中进行接口。我犯了语法错误吗?
迄今为止最常见的错误是“UFuncTypeError: ufunc 'add' 不包含带有签名匹配类型的循环 (dtype('<U55'), dtype('<U55')) -> dtype('<U55')”,但类型是相同的。