我有一个由爬虫创建的粘合表,默认的是org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe属性。我将其更改为使用org.apache.hadoop.hive.serde2.OpenCSVSerDe,但是爬虫程序会在运行时恢复该更改。我用爬虫设置了什么配置来阻止它这样做?
当(")是数据的一部分时,使用双引号(“)和\作为转义字符的文件格式CSV。
谢谢。
发布于 2021-10-13 19:48:01
不幸的是,这是不可能的。crawler管理表,您不能手动更改由crawler管理的表- changes将被覆盖,这是一个功能,而不是一个错误。
我认为在许多情况下,如果您不完全确定模式,那么使用爬虫作为一次性的东西来创建表的第一个版本是很有用的。然而,在初始运行之后,爬虫的使用是有限的,甚至经常是一个问题,就像您的情况一样。
我的建议是关闭爬虫,更改为OpenCSVSerDe,并且永远不要再打开爬虫。如果您使用爬虫程序将新分区添加到表中,我建议使用Partition Projection,这是一个更便宜的选择,也可以立即提供新分区。
https://stackoverflow.com/questions/69368531
复制相似问题