首页 > 解决方案 > 将100万行CSV分批写入S3

问题描述

我正在尝试在 S3 上构建一个非常大的 CSV 文件。

完成这样的事情的正确方法是什么?

标签: javaamazon-web-servicesamazon-s3

解决方案


传统上,在大数据处理(“数据湖”)中,与单个表相关的信息存储在目录中,而不是单个文件中。因此,将信息附加到表就像将另一个文件添加到目录一样简单。目录中的所有文件都需要具有相同的架构(例如 CSV 列或 JSON 数据)。

然后可以将文件目录与以下工具一起使用:

  • Hadoop 上的 Spark、Hive 和 Presto
  • 亚马逊雅典娜
  • Amazon Redshift 频谱

这种方法的一个好处是上述系统可以并行处理多个文件,而不是局限于以单线程方法处理单个文件。

同样常见的是使用gzip等技术压缩文件。这降低了存储要求并加快了从磁盘读取数据的速度。添加其他文件很容易(只需添加另一个文件),而不必解压缩、附加和重新压缩文件。csv.gz

底线:建议重新考虑您对“一个很棒的大 CSV 文件”的要求。


推荐阅读