爬网程序的工作方式 - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

爬网程序的工作方式

爬网程序在运行时,会执行以下操作来询问数据存储:

  • 对数据分类,以确定原始数据的格式、架构和关联属性 – 您可以通过创建自定义分类器来配置分类结果。

  • 将数据分组,至于表或分区中 – 根据爬网程序探试算法对数据分组。

  • 将元数据写入 Data Catalog – 您可以配置爬网程序如何添加、更新和删除表和分区。

在定义爬网程序时,您可以选择一个或多个分类器来评估用于推断架构的数据的格式。当爬网程序运行时,列表中的第一个分类器可以成功识别您的数据存储,用于为表创建架构。您可以使用内置分类器或定义您自己的分类器。您可以在定义爬网程序之前,在单独的操作中定义您的自定义分类器。AWS Glue 提供内置分类器,用于使用包含 JSON、CSV 和 Apache Avro 的格式从公共文件中推断架构。有关 AWS Glue 中内置分类器的当前列表,请参阅 AWS Glue 中的内置分类器

爬网程序创建的元数据表包含在定义爬网程序时的数据库中。如果您的爬网程序不指定数据库,则您的表将放置在默认数据库中。此外,每个表都有一个分类列,由第一个成功识别数据存储的分类器填充。

如果已爬取的文件被压缩,则爬网程序必须下载它才能处理它。在爬网程序运行时,它会询问文件以确定其格式和压缩类型,并将这些属性写入 Data Catalog。某些文件格式(例如 Apache Parquet)允许您在写入文件时压缩文件的一部分。对于这些文件,压缩的数据是文件的内部组件,在将表写入 Data Catalog 时,AWS Glue 不会填充 compressionType 属性。相反,如果整个文件通过压缩算法(例如 gzip)来压缩,则在将表写入 Data Catalog 时,会填充 compressionType 属性。

爬网程序为它创建的表生成名称。存储在 AWS Glue 数据目录中的表的名称遵循以下规则:

  • 仅允许使用字母数字字符和下划线 (_)。

  • 任何自定义前缀均不能超过 64 个字符。

  • 名称的最大长度不能超过 128 个字符。爬网程序截断生成的名称以适应限制范围。

  • 如果遇到重复的表名,则爬网程序会向名称中添加哈希字符串后缀。

如果您的爬网程序多次运行 (也许是按计划),它会在您的数据存储中查找新的或已更改的文件或表。爬网程序的输出包括自上次运行以来找到的新表和分区。