目前在 Glue Crawler 中无法指定 SerDe,但以下是一种解决方法...
创建具有以下配置的 Glue Crawler。
启用“仅添加新列” - 这将根据发现的列添加新列,但不会删除或更改数据目录中现有列的类型。
启用“使用表中的元数据更新所有新建和现有分区” - 此选项从其父表继承元数据属性,例如它们的分类、输入格式、输出格式、SerDe 信息和模式。对表中这些属性的任何更改都会传播到其分区。
运行爬虫程序以创建表,它将创建一个具有“org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe”的表 - 将其编辑为“org.apache.hadoop.hive.serde2.OpenCSVSerde”。
重新运行爬虫程序。
如果在爬取器重新运行时添加了新分区,则还将使用“org.apache.hadoop.hive.serde2.OpenCSVSerde”创建该分区。
现在应该有一个设置为 org.apache.hadoop.hive.serde2.OpenCSVSerde 并且不会重置的表。