【问题标题】:How to create BigQuery tbl using dplyr如何使用 dplyr 创建 BigQuery tbl
【发布时间】:2014-07-03 08:03:50
【问题描述】:

(经过编辑以尝试制作可重现的示例)

我正在尝试通过 dplyr(和依赖项)连接到 BigQuery,但出现错误。我做错了什么?

require(dplyr)   #installed from cran
devtools::install_github("assertthat")
devtools::install_github("bigrquery")
require(bigrquery)

billing_project = "omitted"

sql <- "SELECT year, month, day, weight_pounds FROM natality LIMIT 5"
query_exec("publicdata", "samples", sql, billing = billing_project)

# returns
# Auto-refreshing stale OAuth token.
# year month day weight_pounds
# 1 1969     1   2      8.999270
# 2 1969     1  15      8.375361
# 3 1969     1  27      9.124933
# 4 1969     1   9      6.000983
# 5 1969     1  25      7.561856

bq_db = src_bigquery("publicdata","samples", billing=billing_project)
bq_db

# returns
# src:  bigquery [publicdata/samples]
# tbls: github_nested, github_timeline, gsod, natality, shakespeare, trigrams, wikipedia


tri=tbl(bq_db, "trigrams")

# returns
# Error in UseMethod("sql_select") : 
# no applicable method for 'sql_select' applied to an object of class "bigquery"

这是我遇到的最后一个错误。

我最初从 cran 安装了 dplyr,它的版本是 0.1.3。 bigrquery 包是通过 devtools 从 github 安装的,版本为 0.1。

sessionInfo()
R version 3.1.0 (2014-04-10)
Platform: x86_64-apple-darwin13.1.0 (64-bit)

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] bigrquery_0.1 dplyr_0.1.3  

loaded via a namespace (and not attached):
 [1] assertthat_0.1.0.99 devtools_1.5        digest_0.6.4        evaluate_0.5.3      httpuv_1.3.0       
 [6] httr_0.3            jsonlite_0.9.7      memoise_0.2.1       parallel_3.1.0      Rcpp_0.11.1        
[11] RCurl_1.95-4.1      stringr_0.6.2       tools_3.1.0         whisker_0.3-2  

我也试过这个:

sql_q <- "SELECT year, month, day, weight_pounds FROM natality LIMIT 5"
tri=tbl(bq_db, sql(sql_q))
# results in
# Error in UseMethod("qry_fields") : 
#  no applicable method for 'qry_fields' applied to an object of class "bigquery"

【问题讨论】:

  • 能否请您使示例更具重现性?即你是如何安装和加载 bigrquery 和 dplyr 的?
  • 希望编辑有所帮助。我的第一次尝试表现不佳
  • 我首先尝试的是来自 github 的 dplyr。
  • 您要尝试的第二件事是什么?和以前一样的错误。使用 devtools::install_github("dplyr") 和 sessionInfo() 安装的 Dplyr 现在显示其他附加包:[1] bigrquery_0.1 dplyr_0.2(这个问题对 stackoverflow 仍然有用吗?还是我应该转到 github?)
  • 最好移到github。

标签: r google-bigquery dplyr


【解决方案1】:

我通常这样做:

df <- tbl_df(query_exec(sql, project, max_pages = Inf))

【讨论】:

    猜你喜欢
    • 2018-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-05
    • 1970-01-01
    相关资源
    最近更新 更多