提问人:Goik Dominika 提问时间:11/1/2023 更新时间:11/11/2023 访问量:84
将 SQL BigQuery 表导入 R 时出现问题。 - strsplit(name, “.”, fixed = TRUE) 中的错误:非字符参数
Problem with importing SQL BigQuery table into R. - Error in strsplit(name, ".", fixed = TRUE) : non-character argument
问:
我想将 SQL 表从 BigQuery(为此项目启用计费)导入到我的 R Markdown 代码块中。 R 版本 4.3.0 (2023-04-21 ucrt) DBI版本:1.1.3 Bigrquery 版本:1.4.2 DPLYR 版本:2.4.0
install.packages(c("DBI", "dbplyr", "bigrquery"))
library(bigrquery)
library(DBI)
library(dbplyr)
con <- dbConnect(
bigrquery::bigquery(),
project = "sunny-effort-399008",
dataset = "Daily_tables",
billing = "My_First_Project"
)
dbListTables(con)
dbIsValid(con)
#METs table
met<- as.character("Mets")
METs<-tbl(con, "Mets")
昨天和今天早上(直到 13 点)运行此代码后,我能够获得所需的表。但是,现在当我尝试回忆它时,我得到:
strsplit(name, “.”, fixed = TRUE) 中的错误:非字符参数 14. strsplit(name, “.”, fixed = TRUE) 13. as_bq_table。BigQueryConnection(con, sql) 12. as_bq_table(con, sql) 11. db_query_fields。BigQueryConnection(con, ...) 10. dplyr::d b_query_fields(con, ...) 9. eval_bare(expr((!!fun)(con,...))) 8. dbplyr_fallback(con, “db_query_fields”, ...) 7. dbplyr_query_fields(src$con, 来自) 6. 变量 %||% dbplyr_query_fields(src$con, 从) 5. tbl_sql(c(subclass, “dbi”), src = src, from = from, ...) 4. tbl.src_dbi(dbplyr::src_dbi(src, auto_disconnect = FALSE), from = from, ...) 3. tbl(dbplyr::src_dbi(src, auto_disconnect = FALSE), from = from, ...) 2. 结核病。DBIConnection(con, “Mets”) 1. tbl(con, “大都会”)
(我把整个回溯) 今天早上从 BigQuery 导入“Mets”表后,到目前为止,我能够生成包含其内容的绘图。我不知道该怎么办。 我尝试过的事情:
- 检查表的名称 - 100% 确定这是它的名称。
- 检查与 的连接。
dbIsValid(con)
- 将“Mets”更改为角色名称。
- 检查了源 BigQuery 项目中是否存在“Mets”表。
- 更改了 3 个不同表的表名 - 它们都不起作用,并且每个都产生了相同的输出。
我用完了想法,我也浏览了论坛,找不到类比问题。这是一个有点相似的:https://github.com/r-dbi/bigrquery/issues/492。但是我有最新版本的 dplyr (1.1.3),但它仍然不起作用。
我不知道如何重现这个错误,我是 R 的新手(对不起)。如果有任何信息我可以额外添加以帮助任何人解决这个问题,我很乐意提供它。
答:
作为导致问题的函数的解决方法,这种替代方法应将表置于 R 中:
METs <- dbGetQuery(
con, "SELECT * FROM sunny-effort-399008.Daily_tables.[table name here]")
评论
我也有同样的问题。我使用了dbplyr 2.4.0。我的快速解决方案是回到 dbplyr 版本 2.3.4
评论