0

我有一系列大的压缩文件,我一直在解压缩以直接加载到 MySQL 数据库中,以便从 R 中查询。

我将继续这个例子(在 x86_64 GNU/Linux 上):

> write.csv(iris, file = "iris.csv", row.names = FALSE, quote = FALSE)
> system("gzip iris.csv")
> list.files(pattern = "iris")
[1] "iris.csv"    "iris.csv.gz"

我目前通过以下方式加载解压缩的文件:

> library(RSQLite)
> con <- dbConnect(RSQLite::SQLite(), dbname = "test_db")
> dbWriteTable(con, name = "iris", value = "iris.csv", field.types = list(Sepal.Length = "decimal(6, 2)", Sepal.Width = "decimal(6, 2)", Petal.Length = "decimal(6, 2)", Petal.Width = "decimal(6, 2)", Species = "varchar(15)"), row.names = FALSE)
[1] TRUE

我想知道是否可以使用压缩文件直接将表写入数据库iris.csv.gz

编辑:

我知道,gzfile但据我了解,它的使用需要在写入 MySQL 数据库之前将文件放入内存,这是我希望避免的(如果我有误解,请纠正我)

4

0 回答 0