Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅
中国的 Amazon Web Services 服务入门
(PDF)。
阻止爬网程序更改现有架构
您可以阻止 Amazon Glue 爬网程序在运行时对 Data Catalog 进行任何架构更改。默认情况下,爬网程序会更新 Data Catalog 中的架构,使其与正在爬取的数据来源相匹配。但是,在某些情况下,您可能需要阻止爬网程序修改现有架构,尤其是在您已经转换或清理数据并且不希望原始架构覆盖更改的情况下。
按照以下步骤将您的爬网程序配置为不覆盖表定义中的现有架构。
-
Amazon Web Services Management Console
-
-
登录 Amazon Web Services Management Console,然后打开 Amazon Glue 控制台,网址为:https://console.aws.amazon.com/glue/。
-
在数据目录下选择爬网程序。
-
从列表中选择一个爬网程序,然后选择编辑。
-
选择步骤 4,设置输出和计划。
-
在高级选项下,选择仅添加新列或忽略更改,不更新 Data Catalog 中的表。
-
您还可以将配置选项设置为使用表中的元数据更新所有新的和现有的分区。这会将分区架构设置为从表继承。
选择更新。
- Amazon CLI
-
以下示例说明如何将爬网程序配置为不更改现有架构,仅添加新列:
aws glue update-crawler \
--name myCrawler \
--configuration '{"Version": 1.0, "CrawlerOutput": {"Tables": {"AddOrUpdateBehavior": "MergeNewColumns"}}}'
以下示例说明如何将爬网程序配置为不更改现有架构,且不添加新列:
aws glue update-crawler \
--name myCrawler \
--schema-change-policy UpdateBehavior=LOG \
--configuration '{"Version": 1.0, "CrawlerOutput": {"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }}}'
- API
-
如果您不希望在爬网程序运行时更改表架构,请将架构更改策略设置为 LOG
。
当您使用 API 配置爬网程序时,请设置以下参数:
将 SchemaChangePolicy
结构中的 UpdateBehavior
字段设置为 LOG
。
使用爬网程序 API 中的以下 JSON 对象的字符串表示形式设置 Configuration
字段;例如:
{
"Version": 1.0,
"CrawlerOutput": {
"Partitions": { "AddOrUpdateBehavior": "InheritFromTable" }
}
}