r - 没有详细选项的 bq 查询

标签 r google-bigquery gcloud

我们的想法是使用 bq 工具向 R session 提供存储在 BigQuery 系统中的 csv 格式数据。 bq 工具的输出显示数据以及不需要的消息,例如作业状态和更新的警告消息。 是否有任何标志,所以 bq 工具只会返回 csv 中的查询数据而没有任何其他消息?

> cmdbq <- "bq --format=csv query \"SELECT id, SEC_TO_TIMESTAMP(timestamp) AS time FROM publicdata:samples.wikipedia LIMIT 5\""
> r1 <- shell(cmdbq,intern=TRUE)
> r1
 [1] "\rWaiting on bqjob_r1b11c1f4_00000144c13cea58_1 ... (0s) Current status: DONE   " "id,time"                                                                         
 [3] "18524,2009-08-03 09:13:51"                                                        "2252318,2008-11-24 00:41:42"                                                     
 [5] "3430772,2007-01-11 05:43:19"                                                      "11170233,2007-05-11 12:13:36"                                                    
 [7] "1008805,2007-06-19 20:34:13"                                                      ""                                                                                
 [9] "There are available updates for some Cloud SDK components.  To "                  "install them, please run:"                                                       
[11] " $ gcloud components update"                                                      ""                                                                                
> r2 <- read.csv(text=paste(r1[2:7],collapse="\n"),stringsAsFactors=FALSE)
> r2
        id                time
1    18524 2009-08-03 09:13:51
2  2252318 2008-11-24 00:41:42
3  3430772 2007-01-11 05:43:19
4 11170233 2007-05-11 12:13:36
5  1008805 2007-06-19 20:34:13
> 

注意:我知道 bigrquery 包的存在,但我想使用这种方法,因为这部分代码将在 foreach 并行循环中运行,它简化了每个节点的身份验证步骤。

最佳答案

关于需要更新的消息被打印到 stderr。这样做是为了如果您只捕获标准输出,它不会干扰抓取输出。

或者,您可以通过运行永久禁用此消息

$ gcloud config set --section component_manager disable_update_check true

虽然您以后需要手动检查更新。

关于r - 没有详细选项的 bq 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22410119/

相关文章:

environment-variables - 如何将环境变量注入(inject)到 gcloud 计算实例创建的启动脚本中?

R echarts4r - 在轴中格式化日期

r - 如何防止库屏蔽函数

pandas - 如何使用 to_gbq() 将数据帧写入日期分区 BQ 表的特定分区

node.js - 如何将数据从 BigQuery 移植到已部署在 Google App Engine 上的 ReactJS Webpack 应用程序中

google-bigquery - 过滤查询导致 "Response too large"错误

r - 我收到错误消息无法在本地找到docker镜像;但是我可以使用docker run命令运行镜像

r - 按ID的行数

c# - 如何从 C# 代码运行 R 脚本?

python - 如何将 gRPC Python 插件与 Docker 和 Google Cloud Builds 一起使用?