首页 > 解决方案 > 如何使用 bigrquery 中的 bq_load_table() 将谷歌云存储中的数据加载到 R 中?

问题描述

我正在尝试使用 R (bigrquery) 中 BigQuery 包中的 bq_load_table() 函数将数据集从我的 Google Cloud Storage 存储桶加载到内存中。但是,我的函数不断崩溃,因为我似乎为函数使用了错误的参数。我对 bq_table_load() 中的“x”参数要求什么感到困惑。

以下是我的代码示例(假设我已经使用 bigrquery 设置/验证了我的项目):

project <- 'my_project'

cloud_bucket_uri <- 'gs://myfolder/my_dateset'

sql <- 'SELECT * FROM `my_schema.my_table`'
table <- bq_project_query(project, sql)  # this creates the BigQuery table object from by query (in R) 

bq_table_save(table, cloud_bucket_uri) # this saves the table into my GCS bucket

bq_table_load(x, cloud_bucket_uri) # how to use this function?

在帮助文档中,bq_table_load 函数的参数是:

bq_table_load(x, source_uris, ..., quiet = NA)

并且声明 x 参数应该是:bq_table,或可强制转换为 bq_table 的对象。

这个 x 参数应该是什么?因为我正在从我的 Google Cloud Storage 存储桶加载已保存的表,而不是从 BigQuery 向存储桶写入任何内容,所以我不知道该参数使用什么?

谢谢你的帮助!

标签: rgoogle-cloud-platformgoogle-bigquerygoogle-cloud-storage

解决方案


据我在从 rdocumentation.org/packages/bigrquery 找到的文档中了解,您对bq_table_savebq_table_load使用相同的参数:

bq_table_save( table , cloud_bucket_uri) # 这会将表保存到我的 GCS 存储桶中

bq_table_load( table , cloud_bucket_uri) # 这会从我的 GCS 存储桶中加载 talbe

您也可以在r-project 的此 pdf的第 6 页中查看它。


推荐阅读