如何在 R 中使用 DBI 连接到 bigquery 数据库后列出表的字段
Posted
技术标签:
【中文标题】如何在 R 中使用 DBI 连接到 bigquery 数据库后列出表的字段【英文标题】:How to list the fields of a table after connecting to a bigquery database using DBI in R 【发布时间】:2018-01-23 22:59:22 【问题描述】:我想通过R中的dplyr包连接和查询一个bigquery数据库。我知道我可以列出数据库中的所有表如下:
library(dplyr)
con <- DBI::dbConnect(dbi_driver(),
project = "publicdata",
dataset = "samples",
billing = "887175176791"
)
DBI::dbListTables(con)
[1] "github_nested" "github_timeline" "gsod" "natality" "shakespeare" "trigrams"
[7] "wikipedia"
但是如何列出特定表的列名?我尝试了以下,
DBI::dbListFields(con, "gsod")
但我收到以下错误
Error: Not yet implemented: dbListFields(Connection, character)
【问题讨论】:
如错误消息所述:您的数据库的 dbi 驱动程序尚不支持此功能。您使用哪个驱动程序(dbi_driver()
属于哪个包?
它来自 bigrquery。有人想出另一种方法吗?
【参考方案1】:
现在,你可以使用类似的东西
tbl <- DBI::dbGetQuery("SELECT * FROM gsod", n = 1) # or n = 0
names(tbl)
这将从表中仅选择一(或零)行作为数据框,列名取自远程表。
【讨论】:
以上是关于如何在 R 中使用 DBI 连接到 bigquery 数据库后列出表的字段的主要内容,如果未能解决你的问题,请参考以下文章
在 Perl 中使用 DBI 连接到 Oracle 数据库,在 Windows 中出现 ERROR OCIEnvNlsCreate