使用 cloudml 或 googleCloudStorageR 从 Google 存储桶读取 R 中的 csv 文件

Reading csv file in R from Google Storage Bucket with cloudml or googleCloudStorageR

我想从 Google 存储桶中读取 csv 文件。

使用 googleCloudStorageR 库:

 bucket_name  <- "xxxxx"
  gfs_tmp_file <- "xxx.csv"
  # Set bucket default 
  googleCloudStorageR::gcs_global_bucket(bucket_name)
  gfs_file <- googleCloudStorageR::gcs_get_object(gfs_file) 

但是这里 gfs_file 包含原始数据,我不知道如何迁移到 data.frame R

√ Downloaded and parsed gfs_data_temp.csv into R object of class: raw
   [1] 2c 44 41 54 5f 52 55 4e 2c 44 41 54 5f 46 4f 52 45 43 41 53 54 2c 4c 49 42 5f 53 4f 55 52 43 45 2c 4d 45 53 5f 4c
  [39] 4f 4e 47 49 54 55 44 45 2c 4d 45 53 5f 4c 41 54 49 54 55 44 45 2c 4d 45 53 5f 54 45 4d 50 45 52 41 54 55 52 45 2c
  [77] 4d 45 53 5f 48 55 4d 49 44 49 54 45 2c 4d 45 53 5f 50 4c 55 49 45 2c 4d 45 53 5f 56 49 54 45 53 53 45 5f 56 45 4e
  1. 有了cloudml库,好像更游刃有余了:

未测试:

library(cloudml)
data_dir <- gs_data_dir("gs://{bucket_name}")
gfs_file <- file.path(data_dir, gfs_file)
mtcars_dataset <- csv_dataset(gfs_file) 

那么从 GC 存储桶下载文件并将其存储在 data.frame R 中的最佳方法是什么?

使用 googleCloudStorageR 库从您读取的文件中获取原始数据。您可以做的是将原始数据插入到数据框中:

data_frame <- data.frame( column_name1 = vector1, column_name2 = vector2 )

其中:

  • column_name1、column_name2:确定数据中列的名称 帧.
  • vector1,vector2:确定包含数据的数据向量
    数据框列的值。

您可以查看here更多信息。

另外,cloudml库并没有提到它是如何给你带来数据的,所以你应该尝试一下,看看它是否returns你想要的数据,或者你需要手动插入数据来数据框。