我正在构建一个我正在EC2实例中托管的Web应用程序。它是一个RShiny应用程序,我已经在我的实例上安装了ShinyServer。虽然我正在考虑切换到数据库(这需要我学习如何设置数据库,并将其连接到我的代码),但目前该应用程序需要加载我保存在S3存储桶中的6个CSV文件。这些文件是公开的,所以我可以阅读它们。
以下是将CSV文件读入应用程序的两种不同方法:
library(RCurl)
library(readr)
my.df <- read_csv('mycsvfile.csv')
myy.df <- read.csv(
textConnection(
getURL("https://s3.amazonaws.com/mybucket/mycsvfile.csv")),
sep=",",
header = TRUE,
stringsAsFactors = FALSE)
第一种方法使用readr的read_csv函数。我在本地计算机上使用此功能,但由于我的EC2实例中没有CSV文件,因此我无法将其用于托管应用程序。第二种方法使用RCurl从S3存储桶中获取文件。
我的问题是这个 - 在本地阅读需要<1秒,而从S3获取需要大约7-10秒。对于6个CSV文件,此问题很快就会增加。除了在我的EC2实例上创建数据库之外,我是否有更快捷的方式将CSV文件读入我的托管应用程序?
谢谢!
编辑 - 我正在将文件写入实例。我可能会设置一个git repo,它将实例与我的本地机器连接起来,以使其更好地工作。