本文主要是介绍Temporal table join requires an equality condition on fields of table,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
报错信息
org.apache.flink.table.api.TableException: Temporal table join requires an equality condition on fields of table *******************
发生地址
flinksql 与维表关联场景 包括hive的流式join
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决方案在下面
解决
关联条件必须等值关联 也就是必须是等号,并且 关联条件两边要确定数据类型相同
实测
如果关联条件都是字符串,内容是数字,两测都强制类型转换,cast(feild as bigint) 会报错。很奇怪 做了强制类型转换反而报错了
不支持 已经是int的类型 再次cast(int类型字段 as int) 与 cast(string类型字段 as int) 做关联 必须 string类型字段 = cast(int类型字段 as string) 这么做
报错!!!!
left join hive_zjyprc_hadoop.china_bi.dim_sku_great_bargains /*+ OPTIONS('streaming-source.enable' = 'true','streaming-source.partition.include' = 'latest','streaming-source.partition-order' = 'create-time','streaming-source.monitor-interval' = '1 h') */FOR SYSTEM_TIME AS OF w.proctime AS w3 on cast(w.category_id as bigint) = cast(w3.virtual_category_id as bigint)
正确!!! left join hive_zjyprc_hadoop.china_bi.dim_sku_great_bargains /*+ OPTIONS('streaming-source.enable' = 'true','streaming-source.partition.include' = 'latest','streaming-source.partition-order' = 'create-time','streaming-source.monitor-interval' = '1 h') */FOR SYSTEM_TIME AS OF w.proctime AS w3 on w.category_id = cast(w3.virtual_category_id
这篇关于Temporal table join requires an equality condition on fields of table的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!