首页 文章

使用AWS Glue和Apache Avro进行架构更改

提问于
浏览
9

我是AWS Glue的新手,并且很难完全理解AWS文档,但我正在努力解决以下用例:

我们有一个带有许多Avro文件的s3存储桶 . 我们已经决定使用Avro,因为它可以在超时的情况下对数据模式更改提供广泛支持,从而允许将新字段应用于旧数据而不会出现任何问题 .

使用AWS Glue,我了解只要存在架构更改,爬虫就会创建一个新表 . 当我们的模式发生变化时,这会导致爬虫程序按照预期创建许多新表,但并不像我们希望的那样......

最终,我们希望爬虫检测到最新的模式,并将此模式应用于我们在s3存储桶中爬行的所有数据,仅输出一个表 . 我们(可能错误地)假设通过使用Avro,这不会是一个问题,因为爬虫可以将具有给定默认值或空值的新架构字段应用于旧数据(使用Avro的好处),并且仅输出一个表然后我们可以使用AWS Athena进行查询 .

AWS Glue中是否有一种方法可以为s3存储桶中的所有数据使用给定的模式,从而使我们能够利用模式演化的Avro优势,从而将所有数据输出到一个表中?

1 回答

  • 0

    我没有专门使用Avro文件,但AWS Glue允许您以多种方式配置爬虫 .

    如果您创建新的抓取工具,系统会在"Configure the crawler's output"部分下面提示您一些选项 .

    根据你的情况,我认为你需要勾选出 Update all new and existing partitions with metadata from the table. 的方框

    这就是子菜单的样子 .

    glue-crawler

相关问题