2014-05-15 6 views
5

(a cura di tentare di fare un esempio riproducibile)Come creare BigQuery TBL utilizzando dplyr

sto cercando di connettersi a BigQuery via dplyr (e dipendenze) e sto ottenendo un errore. Che cosa sto facendo di sbagliato?

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" 

È l'ultimo errore con cui sto avendo un problema.

Originariamente ho installato dplyr da cran ed è alla versione 0.1.3. Il pacchetto bigrquery viene installato da github tramite devtools ed è a 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 

Ho provato anche con questo:

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" 
+0

la prego di fare l'esempio un po 'più riproducibile? cioè come hai installato e caricato bigrquery e dplyr? – hadley

+0

speriamo che la modifica aiuti. Il primo tentativo è stato di scarsa qualità da parte mia – schnee

+0

La prima cosa che proverei è dplyr di github. – hadley

risposta

0

solito faccio questo:

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