Lui*_*hys 9 amazon-web-services amazon-athena aws-glue aws-glue-data-catalog
每次我对现有数据运行胶水爬虫时,它都会将 Serde 序列化库更改为LazySimpleSerDe,这不能正确分类(例如,对于带逗号的引用字段)
然后,我需要手动编辑 Glue Catalog 中的表格详细信息,将其更改为org.apache.hadoop.hive.serde2.OpenCSVSerde.
我尝试制作自己的 csv 分类器,但这没有帮助。
如何让爬虫为生成或更新的表指定特定的序列化库?
目前您无法在 Glue Crawler 中指定 SerDe,但这里有一个解决方法......
\n使用以下配置创建 Glue Crawler。
\n启用“仅添加新列\xe2\x80\x99” - 这会在发现新列时添加新列,但不会删除或更改数据目录中现有列的类型
\n启用“使用表\xe2\x80\x99 中的元数据更新所有新分区和现有分区” - 此选项继承元数据属性,例如其父表的分类、输入格式、输出格式、SerDe 信息和架构。对表中这些属性的任何更改都会传播到其分区。
\n运行爬网程序来创建表,它将创建一个包含“org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe”的表 - 将其编辑为“org.apache.hadoop.hive.serde2.OpenCSVSerde”。
\n重新运行爬虫。
\n如果在爬虫重新运行时添加新分区,它也将使用 \xe2\x80\x9corg.apache.hadoop.hive.serde2.OpenCSVSerde\xe2\x80\x9d 创建。
\n您现在应该有一个设置为 org.apache.hadoop.hive.serde2.OpenCSVSerde 并且不会重置的表。
\n| 归档时间: |
|
| 查看次数: |
10578 次 |
| 最近记录: |