Вот мой код, где я пытаюсь записать данные из R в файл базы данных SQLite.
library(DBI)
library(RSQLite)
library(dplyr)
library(data.table)
con <- dbConnect(RSQLite::SQLite(), "data.sqlite")
### Read the file you want to load to the SQLite database
data <- read_rds("data.rds")
dbSafeNames = function(names) {
names = gsub('[^a-z0-9]+','_',tolower(names))
names = make.names(names, unique=TRUE, allow_=TRUE)
names = gsub('.','_',names, fixed=TRUE)
names
}
colnames(data) = dbSafeNames(colnames(data))
### Load the dataset to the SQLite database
dbWriteTable(conn=con, name="data", value= data, row.names=FALSE, header=TRUE)
При записи данных объемом 80 ГБ я вижу, что размер data.sqlite увеличивается до 45 ГБ, а затем останавливается и выдает следующую ошибку.
Error in rsqlite_send_query(conn@ptr, statement) : disk I/O error
Error in rsqlite_send_query(conn@ptr, statement) :
no such savepoint: dbWriteTable
Что такое исправление и что мне делать?Если это только с RSQLite, предложите наиболее надежный метод создания базы данных, такой как RMySQL, RPostgreSQL и т. Д.