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

你可能感兴趣的:(报错调试记录,bug,flink)