我在 aws s3 上有大量历史日志文件,总计数十亿行,
我使用带有 grok 反序列化器的胶水爬虫在 Athena 上生成外部表,但事实证明查询它是不可行的。
我的查询已超时,我正在尝试寻找另一种处理这些数据的方法。
据我了解,通过 Athena,外部表不是实际的数据库表,而是文件中数据的表示形式,并且查询是在文件本身而不是数据库表上运行的。
我怎样才能把这个大数据集变成一个查询友好的结构?
编辑1:为澄清起见,我对重塑此处的日志文件不感兴趣,这些文件已得到处理。相反,我想要一种方法来处理我在 s3 上拥有的当前文件库。我需要查询这些旧日志,在当前状态下这是不可能的。我正在寻找一种将这些文件转换为最佳格式或利用当前外部表进行查询的方法。
现在,默认情况下,外部表仅按日期和实例进行分区,我的 grok 模式将格式化的日志分解为更多列,如果可能的话,我希望在这些列上重新分区,我相信这会让我的查询跑得更容易。