【问题标题】:Bigrquery - no errorsBigrquery - 没有错误
【发布时间】:2021-03-16 16:31:07
【问题描述】:
我已经使用 R 和库 Bigrquery 工作了一年。
但几个月以来,我不再从函数 bq_perform_upload() 收到任何错误或警告。
例如,当 data.frame 列是数字时,而 bigquery 表希望它是一个字符串,我曾经收到一个警告/错误,表明类型不匹配。现在收到bq_job,好像上传通过了。
有人知道如何重新打开它吗?
getOption(x = "warn") => 0
getOption(x = "show.error.messages") => TRUE
【问题讨论】:
标签:
r
error-suppression
bigrquery
【解决方案1】:
这是一个未经测试的猜测,但我怀疑它可能是关键。我安装了bigrquery 包,但还在加载包之前将选项列表的当前状态存储在一个单独的变量中。 (我不知道如何通过包“成员资格”来恢复选项。)我构建了一个逻辑向量来指示一个选项是否是新的,并使用它来获取它们的名称:
cur.opt <- options()
library(bigrquery)
new.opt <- !names(options()) %in% names(cur.opt)
new.opt
[1] FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[16] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[31] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[46] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[61] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[76] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[91] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[106] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[121] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[136] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
options()[new.opt]
#--------
$bigrquery.page.size
[1] 10000
$bigrquery.quiet
[1] NA.
所以我猜你需要将选项“bigrquery.quiet”设置为FALSE,而不是NA。有点困难,我找到了记录此选项的帮助页面:
?`bigrquery-package`
这只是为了影响进度条的显示而记录的,所以我在这里可能会偏离基础。通常包作者会在他们的索引列表中放置一个指向他们整个包帮助页面的链接,但显然不会在 Hadley 中。