Ruby Sax解析来自S3的大文件
我在s3上有一个非常大的xml文件(50gb)。我想将此文件流式传输到SAXXML解析器,以便使用ruby进行进一步处理。如果我可以在本地下载整个文件,但只能从s3通过tcp传输,我该怎么做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上的文件。我只是不确定如何使用流式方法连接这些片段?最简单的方法是使用
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