我已经基于S3存储桶的内容创建了一个AWS glue表。这使我可以使用AWS Athena查询此S3存储桶中的数据。我已经定义了一个AWS Glue搜寻器,并运行了一次以自动确定数据的架构。这一切都很好。
然后,所有新上传到S3存储桶中的数据都会很好地反映在表中。 (通过在雅典娜上进行20
。
那我为什么要定期运行(即:安排)AWS Glue Crawler?毕竟,如前所述,对s3存储桶的更新似乎已正确反映在表中。是否要更新表上的统计信息,以便可以优化queryplanner或其他?
答案 0 :(得分:0)
需要爬网程序才能在数据目录中注册新的数据分区。例如,您的数据位于文件夹/ data中,并按日期(/data/year=2018/month=9/day=11/<data-files>
)进行分区。每天文件都会进入一个新文件夹(day=12
,day=13
等)。为了使新数据可用于查询这些分区,必须在数据目录中注册这可以通过运行搜寻器来完成。另一种解决方案是在雅典娜运行'MSCK REPAIR TABLE {table-name}'。
除此搜寻器之外,还可以检测到架构更改并采取适当的措施depending on your configuration。