basedosdados / mais

⚙️ Código de manutenção do datalake (metadados e pacotes de acesso) | 📖 Docs: https://basedosdados.github.io/mais/
https://info.basedosdados.org/links
MIT License
391 stars 88 forks source link

Error in UseMethod("tbl") e Error in bq_parse_files(schema_path, c(path_first_chunk, chunk_plan$dat$path) - R #1706

Open joaovbs opened 4 months ago

joaovbs commented 4 months ago

Pessoal, ando tendo muita dificuldade para acessar as bases. Uso linguagem R. Pelo método bd_collect(), sempre recebo o erro

Error in UseMethod("tbl") : no applicable method for 'tbl' applied to an object of class "BaseDosDadosConnection"

E já garanti que a versão do pacote bdplyr é a 2.1.1 e que todas as autorizações estão garantidas ao BigQuery (seguindo os passos daqui https://basedosdados.github.io/mais/api_reference_r/). Como alternativa, tentei pela função read_sql(), mas recebo também o seguinte erro sempre

Error in bq_parse_files(schema_path, c(path_first_chunk, chunk_plan$dat$path), :
2560820 rows were requested, but only 2540904 rows were received. Leave page_size unspecified or use an even smaller value.

Segue como está meu código

library(tidyverse) library(basedosdados)

Seasonal crops, permamnent crops and livestock data

Configuring base dos dados

set_billing_id("phd-economics-1st-paper")

Data

query_lvp<- bdplyr("br_ibge_pam.lavoura_permanente") ## método 1

lavouras_p<- bdplyr:read_sql("SELECT * FROM basedosdados.br_ibge_pam.lavoura_permanente" ) ## método 2

Podem me dar uma luz de como resolver isso?

gustavoalcantara commented 4 months ago

oi @joaovbs, veja que o erro é do page_size atribuído ao bigrquery e não ao basedosdados. Veja essa documentação sobre os parâmetros que essa função utiliza: https://github.com/r-dbi/bigrquery Te aconselho também às vezes utilizar filtros por ano/estado/município ou melhorar essa query a fim de obter menos linhas agregando resultados/afins. Se possível, Retire o João e o Diego como assigned porque eles cuidam do pacote .py e não do .r. Qualquer dúvida envie mensagem aqui. Abraço!