【发布时间】:2015-12-09 12:54:44
【问题描述】:
我的 S3 上有很大的 csv 文件。 我想导入他们的数据而不将它们下载(复制)到我在 heroku 上的 tmp 文件夹中。 另外我不想将整个文件加载到内存中。 你们能建议我怎么做吗?诸如逐块获取数据之类的事情。
提前致谢。
【问题讨论】:
-
我认为这只有在亚马逊有一个 api 时才有可能,您可以在其中从文件中请求一组特定的行,而 AFAIK 不存在。我认为您最好的选择是将文件复制到您的服务器上,然后一次读取一行(各种 CSV 库允许您这样做)。这样您就可以避免将所有内容都保存在内存中。我认为您无法避免将其保存在内存中并避免将文件保存在本地。
-
curl和wget都可以将流写入STDOUT,您可能可以直接从管道中读取。你试过这种方法吗? -
@Michael-sqlbot 啊哈,好主意。这篇文章有一些方法可以做到这一点。 stackoverflow.com/questions/1342583/…
标签: ruby-on-rails csv heroku amazon-s3