gpt4 book ai didi

r - 有没有办法使用R或SQLite管理多个大型sqlite文件?

转载 作者:行者123 更新时间:2023-12-03 17:56:07 28 4
gpt4 key购买 nike

我想通过管理和合并几个大的sqlite文件来制作数据库。
有100个sqlite3文件,总大小为500GB。

对于小型数据库(<2GB),我使用R导入和合并了多个sqlite文件,例如:
(可能是结合了R和sqlite的基本代码)

  temp_path = "D:/Wi-Fi/data/13. Campus sensing/"
temp_filename_sqlite3 <- list.files(path= temp_path, pattern = "sqlite3$",
recursive = TRUE)

load_sql <- function(list){
lists <- paste0(temp_path, sprintf("%s", list))
db <- tbl(dbConnect(SQLite(), dbname = lists), "packets") %>%
collect()
}


当我为大型数据集(100个文件,总共500GB)运行代码时,出现错误(错误:无法分配大小为22.4 Gb的向量)。

我是否应该使用sqlite程序(即用于SQLlite的数据库浏览器)?但是,没有用于导入和加载多个sqlite文件以进行合并的代码。

我是使用SQL的初学者,所以我希望获得有关创建数据库的提示。

最佳答案

However there is no code for importing and loading several sqlite files for merging them.



sqlite3程序提供了ATTACH来加载多个sqlite数据库,尽管一次可以附加的数据库数量很少:


ATTACH语句是一个SQLite扩展,它允许将两个或多个数据库关联到同一数据库连接,并且可以像对待单个数据库一样进行操作。同时连接的数据库数限制为SQLITE_MAX_ATTACHED,默认情况下设置为10。附加数据库的最大数量不能增加到125以上。


https://www.sqlite.org/limits.html

适用于SQLlite的数据库浏览器确实支持ATTACH,但是鉴于您的内存要求和约束,您最好集中精力于sqlite3可执行文件。

关于r - 有没有办法使用R或SQLite管理多个大型sqlite文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58969550/

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