【发布时间】:2026-01-30 04:25:02
【问题描述】:
我正在使用 R shiny 和 dplyr 连接到数据库并在 Impala 中查询数据。我执行以下操作。
con <- dbPool(odbc(),
Driver = [DIVER],
Host = [HOST],
Schema = [SCHEMA],
Port = [PORT],
UID = [USERNAME],
PWD = [PASSWORD])
table_foo <- tbl(con, [TABLE_NAME_FOO])
table_bar <- tbl(con, [TABLE_NAME_BAR])
例如,当我运行查询时:
table %>% filter(name=greg) %>% collect()
有一些描述正在 impala 上运行:
DESCRIBE TABLE 'table_foo'
DESCRIBE TABLE 'table_bar'
所有描述在每个查询之前运行。(每个收集()) 我有很多表,所有这些描述都在浪费大量时间。 特别是在 impala 上,一些描述可能需要一段时间才能运行。
有没有办法关闭这些?有什么我可以做的吗? 我查看了文档,找不到任何东西: https://db.rstudio.com/dplyr/
【问题讨论】:
-
R/dplyr 使用
describe table获取有关结果集的元数据,因此它是查询表的重要组成部分。 -
我的意思是这里的问题是它有点荒谬:1)它实际上运行它不会查询的表的描述。 2) 甚至运行描述我何时使用 dbGetQuery 而不是使用 dplyr。我不知道有任何其他 orm 将其作为默认配置吗?
-
更多信息会有所帮助。请您将
table %>% filter(name=greg) %>% explain()的结果添加到您的问题中吗?谢谢。