2
我在s3中有幾個10gb csv文件,我想用它來播種我的數據庫。我在Heroku上運行RoR應用程序,我無法弄清楚如何逐行傳輸csv來處理它,因爲它太大而不適合內存,我不能使用File.open來訪問外部文件。從S3流出一個大文件行
我已經研究過使用Tempfile一次流式傳輸字節,但它們不匹配新行,並且在Ruby中重建它是很困難的。
謝謝!
我在s3中有幾個10gb csv文件,我想用它來播種我的數據庫。我在Heroku上運行RoR應用程序,我無法弄清楚如何逐行傳輸csv來處理它,因爲它太大而不適合內存,我不能使用File.open來訪問外部文件。從S3流出一個大文件行
我已經研究過使用Tempfile一次流式傳輸字節,但它們不匹配新行,並且在Ruby中重建它是很困難的。
謝謝!
可以讀取的流,作爲API文檔中描述:http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/S3Object.html
File.open('output', 'wb') do |file|
large_object.read do |chunk|
file.write(chunk)
end
end
也可以使用range
作爲一個選項來讀取範圍的字節。
http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/S3/S3Object.html#read-instance_method