从压缩文件直接写入MySQL DB

时间:2015-08-14 19:43:30

标签: mysql r rsqlite

我有一系列大型压缩文件,我已经解压缩,直接加载到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 DB之前将文件放入内存中,这是我希望避免的(如果我误解,请纠正我)

0 个答案:

没有答案