FAQ-impala查询结果和spark不一致
更新时间: 2024-03-11 02:43:31
阅读 4038
问题描述/异常栈
经常有用户出现反馈同一段代码impala和spark查询结果不一致,这多半是impala对有的类型没有隐式转换,在类型不一致的时候。就会出现查旬结果不一致。
解决方案
例如 这是精简后的代码,一样的语句,impala查不出数据,这样在复杂的代码运行后结果肯定不同。 这是由于datesub类的时间函数和本身过滤的分区条件例如ds的类型不同。我们需要cast成一样的类型。
问题原因
例如datesub这种时间函数,返回的都是datetime类型的字段,这里表的分区字段ds的字段类型是string。在spark中可能会做隐式转换并去过滤数,在impala中不会这样。所以需要将datesub返回的dateatime强转为string。结果才能保持一致。很多类似的问题都是这个原因。
作者:刘思伟
文档反馈
以上内容对您是否有帮助?