创建Clickhouse数据库并使用R加载很多表

问题描述 投票:0回答:1

我正在尝试创建Clickhouse数据库并将许多文件中的值复制到表中(所有文件都等于列顺序)。>>

但是我不知道如何处理。

我正在使用RClickhouse,与clickhouse-r相比,我不知道是否有任何区别。

library(RClickhouse)
library(DBI)
library(tidyverse)

eggnog_dir <- "/home/acpguedes/projects/sig_trans/data/eggnog/table/"
setwd(eggnog_dir)

myconn <- DBI::dbConnect(drv = RClickhouse::clickhouse())

mytables <- list.files(".") # all tables are in the same folder 

mysqltb <- db_create_table(con = myconn, table = 'eggnog')


lapply(mytables, function(x) {
  read_tsv(file = x, 
           col_names = c( #in my case the tables has no header
             'sequence',
             'model',
             'start',
             'end',
             'evalue',
             'cov',
             'qstart',
             'qend',
             'iteration',
             'score',
             'talilen',
             'qlen',
             'estart',
             'eend',
             'program'
             )
           ) %>% dbWriteTable(conn=myconn, value = ., name = "domains", append=TRUE) 
  }
    ) -> dt

与列本身无关,我只想作为一个示例,说明如何创建表并将许多文件(如tsv ou CSV或任何delim的表)的内容加载到表中。

我也尝试使用dbpĺyr代替copy_to()来使用dbWriteTable

而且,在重载所有表之后,我是否应该执行'commit'语句以将数据库永久保存到R或其他平台的后继访问?

提前感谢。

我正在尝试创建Clickhouse数据库,并将许多文件中的值复制到表中(所有文件都等于列顺序)。但是我不知道如何处理。我正在使用RClickhouse,但我没有...

sql r dbi clickhouse dbplyr
1个回答
0
投票

鉴于您无法在R之外或重新启动后读取该表,这听起来像是该问题正在提交给数据库。

© www.soinside.com 2019 - 2024. All rights reserved.