我想使用dplyr和implyr的tbl()和in_schema()函数从Impala连接中提取数据。我需要分别为每个表执行此操作,并需要使用in_schema()函数和用于定义表的字符串来指定表。但是,只能提供一个字符串(即一个表)作为参数,而不是字符串向量。我想知道是否存在一种更优雅的映射方式,而不是复制粘贴相同的代码x次。有关详细信息,请参见示例代码。
以该字符串向量为例:
tables <- c("table_a", "table_b", "table_c")
要提取一个表,代码的工作方式如下:
table_a <- tbl(impala, in_schema("schema", "table_a"))
这不起作用,这是有道理的,因为只需要一个字符串值:
tables <- tbl(impala, in_schema("schema", tables))
如何提取所有表而不必分别对所有表重复此过程?
答案 0 :(得分:0)
您可以进行循环:
result_tables <- list()
for(t in tables){
result_tables[t] <- tbl(impala, in_schema("schema", t))
}