2017-07-26 4 views
1

Je travaille dans un cahier R ipython (relatif R newbie) et essaye d'extraire des données de Google Big Query en utilisant 'bigrquery'. On me dit que cela devrait être simple, mais extraire en utilisant sql standard ne fonctionne pas.Impossible d'utiliser bigrquery avec le sql standard

Voici mon code:

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) 

Pour le standard SQL ci-dessus renvoie l'erreur suivante:

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) 

Il est ce qui suggère que je n'ai pas entré correctement le nom de la table SQL standard, mais J'ai apparemment et la requête s'exécute bien de la console GBQ.

Qu'est-ce qui ne va pas?

+0

Juste au cas où - essayez false dans tous les petits caractères –

+0

Quelle version de bigrquery est installée pour vous? Pourriez-vous imprimer le résultat de 'packageVersion (" bigrquery ")' pour nous? –

+0

petits caractères faux n'a pas fonctionné - la version est '0.4.1' - est-ce l'ancien par hasard? – goose

Répondre

2

Vous avez envoyé la mauvaise variable à la fonction. Il doit être use_legacy_sql = FALSE au lieu de useLegacySql. Ils changed le nom de la variable juste après la validation du nouveau code.

+0

Il devait y avoir quelque chose comme ça. Merci beaucoup pour votre aide! – goose