AWS Glue:我真的需要针对新内容的Crawler吗?

时间:2018-11-03 02:26:13

标签: amazon-web-services aws-glue

我从AWS Glue文档中了解到的是一个craweler,它将帮助爬网和发现新数据。但是,我注意到,一旦爬网一次,如果新数据进入S3,则实际上当我从Athena查询数据目录时就已经发现了该数据。因此,我可以说除非有新的架构,否则每次添加新数据时都不需要爬网程序进行爬网?

实际上,如果我知道文件的架构,则可以手动创建表,而无需使用搜寻器,是否正确?

2 个答案:

答案 0 :(得分:3)

如果数据被某些键分区(放置在子文件夹中,如/data/year=2018/month=11/day=2),则您需要一个搜寻器在数据目录中注册新添加的分区(即/day=3),以便能够通过雅典娜查询。

但是,如果未对数据进行分区或进入已注册的分区,则无需运行搜寻器。

或者,要运行搜寻器,您可以通过运行Athena command MSCK REPAIR TABLE <table>registering them manually发现并注册新分区。

在数据目录中创建表的最简单方法是运行搜寻器。但是,如果您了解架构并耐心编写CREATE TABLE Athena query或通过AWS Glue console填写所有字段,那么您也可以采用这种方式。

答案 1 :(得分:0)

如果具有架构,则无需使用搜寻器,并且可能会得到更好的结果(例如,搜寻器假定分区列是字符串)。

正如Yuriy所说,记住要运行MSCK REPAIR TABLE或手动注册新分区。

如果添加了很多分区,MSCK可能会超时。如果可以,请继续运行直到正常完成。