如何配置AWS Glue Crawler避免其覆盖已修改的表SerDe属性
解决AWS Glue Crawler覆盖自定义SerDe配置的方案
AWS Glue Crawler默认运行时会自动检测数据源格式,用默认配置覆盖已有的表元数据,包含SerDe属性,可通过两类配置解决该问题:
方案1:保留手动修改的SerDe配置,禁止Crawler覆盖
适合已经手动调整过表属性,仅需要Crawler新增分区、不修改现有元数据的场景:
- 进入目标Crawler的编辑页面,找到「爬虫输出配置」板块
- 在「现有表和分区更新行为」的选项中,选择忽略架构变更,保留用户自定义的表元数据
- 保存配置后重新运行Crawler,你手动修改的
org.apache.hadoop.hive.serde2.OpenCSVSerDe配置不会再被覆盖
如果需要Crawler同步新增列、但不覆盖现有SerDe配置,可以在Crawler的高级配置中选择「仅允许新增列,不修改现有属性」的策略,兼顾字段更新和自定义配置保留。
方案2:让Crawler默认生成符合要求的SerDe配置
无需后续手动修改表属性,Crawler首次建表就自动使用OpenCSVSerDe:
- 编辑Crawler的数据源配置,找到对应CSV数据源的分类设置
- 手动指定CSV的SerDe为
org.apache.hadoop.hive.serde2.OpenCSVSerDe - 同步配置转义符为
\、引号字符为",匹配你的CSV文件格式即可
内容的提问来源于stack exchange,提问作者marcia12
相关产品推荐
相关产品推荐

