将 .RData 文件加载到 Data Science Experience

Loading .RData file into Data Science Experience

我正在尝试将 .RData 文件加载到我在 DSX 中的 R 笔记本中。我已按照此笔记本 (https://apsportal.ibm.com/exchange/public/entry/view/90a34943032a7fde0ced0530d976ca82) 中的说明进行操作,但仍然无法加载我的数据。到目前为止,我已经成功完成了以下步骤:

  1. 我已将我的数据集加载到对象存储中。
  2. 我使用插入到代码 -> 插入凭据按钮插入了我的凭据。这似乎按预期工作。
  3. 在下一个单元格中,我选择了插入到代码 -> 插入 textConnection 对象选项。这似乎也按预期工作。
  4. 第 3 步的输出如下:

您的数据文件已加载到 textConnection 对象中,您可以使用您选择的包处理数据。

data.1 <- getObjectStorageFileWithCredentials_xxxxxxxxxx("projectname", "file.RData")

  1. 在此之后,由于我的文件是一个 .RData 文件,我输入了以下命令:

数据<-加载("file.RDA")

当我运行这个单元格时,我得到以下输出:

readChar(con, 5L, useBytes = TRUE) 中的警告消息: “无法打开压缩文件 'file.RDA',可能的原因 'No such file or directory'”

readChar(con, 5L, useBytes = TRUE) 出错:无法打开连接 回溯:

  1. 加载("file.RDA")
  2. readChar(con, 5L, useBytes = TRUE)

  3. 当我输入以下命令打印数据集时:

数据

我得到以下输出:

X.html..h1.Forbidden..h1..p.Access.was.denied.to.this.resource...p...html.

有人可以帮忙吗?

谢谢, 温基

这是一个解决方法,因为加载无法从响应对象中读取,因为要从对象存储中读取对象,唯一的方法是 REST api。

我尝试使用 rawConnection 而不是 textConnection,但它似乎没有帮助。

因此,与其将读取的对象从 OS 直接传递到 load 或 readRDS function.You,不如将其写入附加的 spark 服务的 GPFS,然后从那里读取它,就像从本地读取一样。

从生成的代码中更改此行:-

    rawdata <- content(httr::GET(url = access_url, add_headers ("Content-Type" = "application/json", "X-Auth-Token" = x_subject_token)), as="raw")
rawdata

基本上不是 returning 文本,return 原始对象,然后将其作为二进制对象写入本地 GPFS。

data.3 <- getObjectStorageFileWithCredentials_216c032f3f574763ae975c6a83a0d523("testObjectStorage", "sample.rdata")


writeBin(data.3,"sample.rdata")

现在使用 readRDS 或加载读回。

load("sample.rdata")

查看加载的数据框。 ls()

希望对您有所帮助。

谢谢, 查尔斯.