0

我已经使用 R 和 Bigrquery 库工作了一年。但是几个月以来,我不再从函数 bq_perform_upload() 收到任何错误或警告。

例如,当 data.frame 列是数字时,而 bigquery 表希望它是一个字符串,我曾经收到一个警告/错误,表明类型不匹配。现在我收到了 bq_job,好像上传已经通过了。

有谁知道如何重新打开它?

getOption(x = "warn") => 0
getOption(x = "show.error.messages") => TRUE
4

1 回答 1

0

这是一个未经测试的猜测,但我怀疑它可能是关键。我安装了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`

仅记录这会影响进度条的显示,因此我可能会在这里偏离基础。通常包作者会在他们的索引列表中放置一个指向他们整体包帮助页面的链接,但显然不会。

于 2020-12-04T16:30:28.820 回答