是否可以将 AWS Athena 中的数据卸载到单个文件?

DGe*_*hev 4 amazon-web-services amazon-athena

文件指出

UNLOAD 结果并行写入多个文件。

我想这对于读取和写入来说都更有效,因此卸载到单个文件没有意义。但是,如果由于某种原因最终用户希望将输出作为单个文件,这可能吗?

小智 6

运行SELECT查询会Athena生成未压缩的 CSV 格式的单个结果文件,Amazon S3这是默认行为。

如果您的查询预计输出大型结果集,则需要花费大量时间将结果作为单个文件写入 Amazon S3。使用UNLOAD,您可以将结果拆分为 Amazon S3 中的多个文件,这减少了写入阶段所花费的时间,从而获得更好的性能,您甚至可以使用压缩技术,例如parquet.

您尝试做的并不是卸载的目的。一种解决方案是编写某种后处理器,它将在写入完成后合并文件。也许使用lambdaS3 写入时触发的函数。