IBM Cloud Docs
使用 cloudyr 进行数据科学

使用 cloudyr 进行数据科学

R 编程语言 用于项目时,请使用 cloudyr从 IBM Cloud® Object Storage 获取支持数据科学的功能。

本教程说明如何在 R 项目中集成 IBM Cloud® Platform 中的数据。 您的项目将使用 IBM Cloud Object Storage 作为项目中具有 S3-compatible 连接的存储器。

准备工作

在继续之前,我们需要确保具备以下先决条件:

  • IBM Cloud Platform 帐户
  • IBM Cloud Object Storage 的实例
  • 已安装并配置 R
  • S3-compatible 认证配置

创建 HMAC 凭证

在开始之前,我们可能需要在创建凭证时使用配置参数 {"HMAC":true} 来创建一组 HMAC 凭证 作为 服务凭证 的一部分。 例如,使用 IBM Cloud Object Storage CLI,如下所示。

ibmcloud resource service-key-create <key-name-without-spaces> Writer --instance-name "<instance name--use quotes if your instance name has spaces>" --parameters '{"HMAC":true}'

要存储生成的密钥的结果,请将文本 > cos_credentials 附加到示例中命令的末尾。 对于本教程,您需要查找带有子键 access_key_idsecret_access_keycos_hmac_keys 标题。

      cos_hmac_keys:
          access_key_id:      7xxxxxxxxxxxxxxa6440da12685eee02
          secret_access_key:  8xxxx8ed850cddbece407xxxxxxxxxxxxxx43r2d2586

虽然在环境变量中设置凭证是最佳实践,但您还可以在 R 脚本本身的本地副本中设置凭证。 也可以在使用 Renviron.site.Renviron 文件启动 R 之前设置环境变量,用于在启动期间在 R 中设置环境变量。

您将需要在代码中设置 access_key_idsecret_access_key 的实际值以及实例的 IBM Cloud Object Storage 端点

R 项目添加凭证

由于它超出了本教程的范围,因此假定您已安装 R 语言和应用程序套件。 在将任何库或代码添加到项目之前,请确保您具有可用于连接到 IBM Cloud Object Storage的凭证。 对于存储区和端点,您将需要相应的 区域

Sys.setenv("AWS_ACCESS_KEY_ID" = "access_key_id",
           "AWS_SECRET_ACCESS_KEY" = "secret_access_key",
           "AWS_S3_ENDPOINT" = "myendpoint",
           "AWS_DEFAULT_REGION" = "")

R 项目添加库

我们使用 cloudyr S3-compatible 客户机 来测试凭证,从而列出存储区。 为了获取其他软件包,我们使用称为 CRAN 的源代码集合体,该集合体通过一系列 镜像进行操作。

对于此示例,我们使用示例中所示的 aws.s3,并将其添加到代码中以设置或访问您的凭证。

library("aws.s3")
bucketlist()

R 项目中使用库方法

您可以从使用样本包中学习很多知识。 例如,Cosmic Microwave background Data Analysis 的数据包显示了一个难题。 用于本地编译的项目的可执行文件小到足以在个人机器上工作,但由于数据的大小,使用源数据将受到限制。

使用软件包的版本 0.3.21 时,需要在请求中添加 region="" 以连接到 COS。

除了 PUT,HEAD 和其他兼容的 API 命令外,我们还可以使用先前包含的 S3-compatible 客户机来获取对象。

# return object using 'S3 URI' syntax, with progress bar
get_object("s3://mybucketname-only/example.csv", show_progress = TRUE)

R 项目添加数据

正如您可以猜测的那样,先前讨论的库具有可直接写入存储区的 save_object() 方法。 虽然有许多方法可以 装入数据,但我们可以使用 cloudSimplifieR 来处理 开放式数据集

library(cloudSimplifieR)
d <- as.data.frame(csvToDataframe("s3://mybucket/example.csv"))
plot(d)

后续步骤

除了创建自己的项目外,您还可以使用 R Studio 来分析数据