r - AWS s3 r 工作室

标签 r amazon-web-services amazon-s3

如何直接从 r studio 的 Amazon s3 读取 csv。我不能只使用 read_csv,如果我把,

read_csv(url("s3a://abc/rerer.txt"))

我得到

网址错误(“s3a://abc/rerer.txt”):
此方法不支持 URL 方案

我不想先在本地移动文件。我尝试在 AWS s3 库中使用像 get_bucket 这样的函数,但那不是人类可读的格式

最佳答案

我推荐包aws.s3来自 CloudyR 项目。

要安装此软件包:

# stable version
install.packages("aws.s3", repos = c("cloudyr" = "http://cloudyr.github.io/drat"))

# on windows you may need:
install.packages("aws.s3", repos = c("cloudyr" = "http://cloudyr.github.io/drat"), INSTALL_opts = "--no-multiarch")

安装后,您可以像这样读取文件:
library("aws.s3")
r = aws.s3::get_object(bucket = "bucket",object = "object.csv")

正如@Thomas 在评论中提到的,如果您知道文件类型,则可以使用 read_using()功能结合freadread_csv或您通常使用的任何 R 函数。这在您检索数据后节省了解析步骤。

如果您的凭据已经是环境变量,则几乎不需要设置。否则,您可以像这样添加它们:
Sys.setenv("AWS_ACCESS_KEY_ID" = "mykey",
           "AWS_SECRET_ACCESS_KEY" = "mysecretkey",
           "AWS_DEFAULT_REGION" = "us-east-1",
           "AWS_SESSION_TOKEN" = "mytoken")

还支持多个 AWS 账户。您可以在此处找到 CloudyR 项目及其文档:

https://github.com/cloudyr

具体来说,CloudyR 的 AWS S3 API 客户端页面可以在这里找到:

https://github.com/cloudyr/aws.s3

关于r - AWS s3 r 工作室,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45221618/

相关文章:

amazon-web-services - Amazon Elastic Beanstalk 上的 MaxMind GeoIP 库和数据库

r - 如何遍历对角条状矩阵并返回每个位置的索引?

linux - 如何在 Amazon Linux 上安装最新版本的 GDAL?

apache-spark - 使用 kubernetes 在 spark 2.3 中处理 spark-submit 的远程依赖项

php - 我们可以更新 Amazon S3 中特定文件的内容吗?

Azure 到 AWS 的迁移

r - 如何使用 ggplot2 绘制非标准化数据?

r - 创建一个从开始计数到当前值的列表

r - 找出R中一个月中的天数

json - 使用 jq 解析 AWS CLI 工具的 json 输出