Ruby Sax解析来自S3的大文件

Ruby Sax解析来自S3的大文件,ruby,amazon-s3,streaming,large-files,saxparser,Ruby,Amazon S3,Streaming,Large Files,Saxparser,我在s3上有一个非常大的xml文件(50gb)。我想将此文件流式传输到SAXXML解析器,以便使用ruby进行进一步处理。如果我可以在本地下载整个文件,但只能从s3通过tcp传输,我该怎么做 我正在考虑使用它自己进行解析,以及访问S3上的文件。我只是不确定如何使用流式方法连接这些片段?最简单的方法是使用mcmc机具是cat命令,可以以更简单的方式使用 例如,如下所示。这里的cat流式传输对象,并将cat的输出通过管道传输到XML解析器,后者从stdinput读取 $ mc cat s3.amaz

我在s3上有一个非常大的xml文件(50gb)。我想将此文件流式传输到SAXXML解析器,以便使用ruby进行进一步处理。如果我可以在本地下载整个文件,但只能从s3通过tcp传输,我该怎么做


我正在考虑使用它自己进行解析,以及访问S3上的文件。我只是不确定如何使用流式方法连接这些片段?

最简单的方法是使用
mc
mc
机具是
cat
命令,可以以更简单的方式使用

例如,如下所示。这里的
cat
流式传输对象,并将
cat
的输出通过管道传输到XML解析器,后者从stdinput读取

$ mc cat s3.amazonaws.com/<yourbucket>/<yourobject> | <your_xml_parser> 
$mc cat s3.amazonaws.com//
这样可以避免在本地下载文件

此外,
mc
还提供了更多工具,可用于与Amazon S3兼容的云存储和文件系统。它具有诸如可恢复上传、进度条、并行复制等功能
mc
是用Golang编写的,并在Apache许可证v2下发布<在OS X、Linux和Windows上支持code>mc