gpt4 book ai didi

RSQLite:如何增加列数和参数?

转载 作者:行者123 更新时间:2023-12-01 00:09:54 24 4
gpt4 key购买 nike

我经常使用具有 >10,000 列的大型 CSV 文件 (>50GB)。我正在考虑将信息读入 RSQLite这样我就可以轻松进行查询和子集化。

问题

SQLite 在单个 SQL 中有 2000 个字段和 999 个主机参数的限制(参见 SQLite website)。根据 this ,有一种方法可以更改 SQLite 的这些参数(即通过从源代码重新编译 SQLite)。

问题

如果我正在使用 RSQLite 如何进行上述更改包裹?有趣的是,根据包裹的changelog ,早在 2011-12-01 的 0.11.0 版本中,默认值已经分别增加到 30,000 和 40,000。但是当我使用 10,000 列的数据框进行测试时,RSQLite v2.1.1仍然抛出错误。

我在这里缺少什么?如果我需要重新编译 SQLite 来更改这些值,我该如何获得 RSQLite使用那个新版本?

提前致谢!

最佳答案

我已将列数限制减少到 RSQLite 1.1 中的默认值:

Compilation limits SQLITE_MAX_VARIABLE_NUMBER and SQLITE_MAX_COLUMN have been reset to the defaults. The documentation suggests setting to such high values is a bad idea.



SQLite 将数据按行存储在磁盘上。查询单个列将需要读取整个文件或其中的一个重要子集。

你考虑过吗 DuckDB ?这是一个新的

embedded database designed to execute analytical SQL queries fast while embedded in another process. It is designed to be easy to install and easy to use. ... DuckDB has bindings for C/C++, Python and R.



(强调我的。)

有人告诉我,它以组合的行列顺序在内部组织数据:查询整列只需要读取文件的一小部分,但返回整行(过滤后)仍然很快。
您可以通过 DBI 和 dbplyr 访问 DuckDB 数据库。

警告 :我不知道列数是否有类似的限制,但如果限制比 2³¹ 小得多,我会感到非常惊讶。请让我知道这对你有没有用。

关于RSQLite:如何增加列数和参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59529266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com