R语言使用bigrquery调用GCP获取空表的问题及解决方案
R语言bigrquery连接GCP获取数据返回空表问题解决
问题场景
使用R语言开发应用,通过bigrquery包连接GCP获取数据。已使用PowerBI同款JSON凭证,通过bq_auth(path = 'credentials.json')成功完成GCP连接,能够正常列出表清单,但调用tbl()、bq_table_download()、DBI::dbReadTable()等函数获取表数据时,始终返回空表/空数据框。
原测试代码如下:
# 列出连接中的表 dbListTables(con) tbl(con, "my_table") # 获取并打印表数据 tb = as_bq_table("project_id.database_name.my_table") bq_table_download(tb, n_max = 10) DBI::dbListTables(con) DBI::dbReadTable(con, "my_table", n_max = 10)
解决方法
通过编写SELECT * FROM database.table格式的查询语句执行查询,成功获取到数据。解决后的代码如下:
ds <- bq_dataset("project_id", "my_table") tb <- bq_dataset_query(ds, query = "SELECT * FROM database_name.my_table LIMIT 100", billing = 'project_id' ) bq_table_download(tb)
内容的提问来源于stack exchange,提问作者Márcio A. Freitas Jr
相关产品推荐
相关产品推荐

