我必须使用哪种文件格式支持附加?

问题描述

目前我们使用 orc file format 将传入流量存储在 s3 中用于欺诈检测分析

我们确实选择了 orc 文件格式,原因如下

  • 压缩
  • 以及使用 athena 查询数据的能力

问题:

这不是问题,但随着数据每天显着增长~2GB every day。下载 10Gb 文件读取、写入和上传一个非常昂贵的过程

问题: 有没有办法使用另一种文件格式,它也提供附加/插入功能,并且可以被 athena 用来查询

从这个 article 它说 avro文件格式,但不确定

  • 是否可以使用 athena 进行查询
  • 还有其他问题吗?

Note: My skill on big data technologies is on beginner level

解决方法

如果您的表未分区,只需将新的 orc 文件复制 (aws s3 cp) 到表的目标 s3 路径,它们将立即可用于通过 Athena 进行查询。

如果您的表是分区,您可以将新文件复制到与您的特定分区对应的路径。在将新文件复制到分区结束时,您需要将该分区添加或更新到 Athena 的 Metastore。

例如,如果您的表由 date 分区,那么您需要运行此查询以确保您的分区被添加/更新:

alter table dataset.tablename add if not exists
   partition (date = YYYYMMDD) 
   location 's3://your-bucket/path_to_table/date=YYYYMMDD/'