【问题标题】:Unable to use bigrquery with standard sql无法将 bigquery 与标准 sql 一起使用
【发布时间】:2017-07-26 15:42:36
【问题描述】:

我正在使用 R ipython 笔记本(相对 R 新手)并尝试使用“bigrquery”从 Google Big Query 中提取数据。有人告诉我这应该很简单,但是使用标准 sql 进行提取不起作用。

这是我的代码:

require("bigrquery")

# Use your project ID here
project <- "project-id" # put your project ID here

standard_sql <- "SELECT year, month, day, weight_pounds FROM `publicdata.samples.natality` LIMIT 5"

legacy_sql <- "SELECT year, month, day, weight_pounds FROM [publicdata:samples.natality] LIMIT 5"

# doesn't work
standard_data <- query_exec(standard_sql, project = project, useLegacySql = FALSE)

# works
legacy_data <- query_exec(legacy_sql, project = project, useLegacySql = TRUE)

对于上面的标准sql,它返回以下错误:

Error: Invalid table name: `publicdata:samples.natality`
Traceback:

1. query_exec(standard_sql, project = project, useLegacySql = FALSE)
2. run_query_job(query = query, project = project, destination_table = destination_table, 
 .     default_dataset = default_dataset, create_disposition = create_disposition, 
 .     write_disposition = write_disposition, use_legacy_sql = use_legacy_sql, 
 .     quiet = quiet, ...)
3. wait_for(job, quiet = quiet)
4. stop(err$message, call. = FALSE)

这表明我没有为标准 SQL 正确输入表名,但我似乎输入了,并且查询从 GBQ 控制台运行良好。

怎么了?

【问题讨论】:

  • 以防万一 - 在所有小字符中尝试 false
  • 为您安装了什么版本的 bigrquery?您能帮我们打印一下packageVersion("bigrquery") 的结果吗?
  • small chars false 不起作用 - 版本是“0.4.1” - 是不是旧版本?
  • 还尝试了我拥有的全新表。
  • 就像一只便条鹅,当您回复某人的评论时,请记住添加他们的姓名,例如“@Willian Fuks”,以便我们在收件箱中收到通知。我和米哈伊尔都没有收到你最后评论的通知。

标签: r google-bigquery ipython-notebook


【解决方案1】:

您向函数发送了错误的变量。

应该是use_legacy_sql = FALSE 而不是useLegacySql。他们在提交新代码后立即changed 变量名。

【讨论】:

  • 它必须是这样的。非常感谢您的帮助!
猜你喜欢
  • 2018-08-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-14
  • 1970-01-01
相关资源
最近更新 更多