【发布时间】:2019-05-31 14:33:26
【问题描述】:
我收到HIVE_PARTITION_SCHEMA_MISMATCH 错误,我不太确定该怎么办。当我查看 2 个不同的模式时,唯一不同的是我的一个结构中的键的顺序(由胶水爬虫创建)。我真的不关心数据的顺序,并且我将数据作为 JSON blob 接收,所以我不能保证键的顺序。
struct<device_id:string,user_id:string,payload:array<struct<channel:string,sensor_id:string,type:string,unit:string,value:double,name:string>>,topic:string,channel:string,client_id:string,hardware_id:string,timestamp:bigint,application_id:string>
struct<device_id:string,user_id:string,payload:array<struct<channel:string,name:string,sensor_id:string,type:string,unit:string,value:double>>,topic:string,channel:string,client_id:string,hardware_id:string,timestamp:bigint,application_id:string>
【问题讨论】:
-
@Theo 不,这不能解决问题。问题是该结构每次都应该以相同的顺序排列(即使所有的键都是相同的),但事实并非如此。
-
我确定您做到了,但只是为了确保:您是否尝试选中“更新所有新的和现有的……”复选框?我意识到这不是同一个问题,但解决方案听起来也适用于您的情况。爬虫发现的模式是不同的,因此该复选框应确保更新旧模式。
标签: amazon-web-services amazon-athena aws-glue