我正在尝试使用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向存储桶中写入任何内容,所以我不知道该参数使用什么?
感谢您的帮助!
答案 0 :(得分:0)
据我在the documentation found from rdocumentation.org/packages/bigrquery中所了解的,您对 bq_table_save 和 bq_table_load 使用相同的参数:
bq_table_save( 表 ,cloud_bucket_uri)#保存表 进入我的GCS存储桶
bq_table_load( 表 ,cloud_bucket_uri)#这将从我的GCS存储桶中加载talbe
您也可以在this pdf from r-project的第6页中对其进行检查。
答案 1 :(得分:0)
我认为bq_table_load()并非用于将表加载到R中,而是用于将表保存在BigQuery中。因此,这里的“ x”是指BQ表位置[BQ_projectID.BQ_dataset.BQ_tableName]的字符串。
如果要将表直接加载到R中,请改用bq_table_download()。或者,使用googleCloudStorageR :: gcs_get_object()。