gt; at scala.collection.Iterator.foreach$(Iterator.scala:937)
> at scala.collection.AbstractIterator.foreach(Iterator.scala:1425)
> at scala.collection.IterableLike.foreach(IterableLike.scala:70)
> at scala.collection.IterableLike.foreach$(IterableLike.scala:69)
> at scala.collection.AbstractIterable.foreach(Iterable.scala:54)
> at scala.collection.TraversableLike.map(TraversableLike.scala:233)
> at scala.collection.TraversableLike.map$(TraversableLike.scala:226)
> at scala.collection.AbstractTraversable.map(Traversable.scala:104)
> at
> org.apache.flink.table.planner.delegation.StreamPlanner.translateToPlan(StreamPlanner.scala:70)
> at
> org.apache.flink.table.planner.delegation.PlannerBase.translate(PlannerBase.scala:185)
> at
> org.apache.flink.table.api.internal.TableEnvironmentImpl.translate(TableEnvironmentImpl.java:1665)
> at
> org.apache.flink.table.api.internal.TableEnvironmentImpl.executeInternal(TableEnvironmentImpl.java:752)
> at
> org.apache.flink.table.api.internal.StatementSetImpl.execute(StatementSetImpl.java:124)
> at com.cgws.ccp.flink.sql.submit.SqlSubmit.run(SqlSubmit.java:177)
> at com.cgws.ccp.flink.sql.submit.SqlSubmit.main(SqlSubmit.java:106)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:498)
> at
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:355)
> ... 11 more
> Concurrent marking:
> 0 init marks: total time = 0.00 s (avg = 0.00 ms).
> 3 remarks: total time = 0.07 s (avg = 22.53 ms).
> [std. dev = 12.26 ms, max = 39.81 ms]
> 3 final marks: total time = 0.00 s (avg = 1.48 ms).
> [std. dev = 1.34 ms, max = 3.37 ms]
> 3 weak refs: total time = 0.06 s (avg = 21.05 ms).
> [std. dev = 10.93 ms, max = 36.43 ms]
> 3 cleanups: total time = 0.01 s (avg = 2.00 ms).
> [std. dev = 0.11 ms, max = 2.13 ms]
> Final counting total time = 0.00 s (avg = 0.49 ms).
> RS scrub total time = 0.00 s (avg = 0.61 ms).
> Total stop_world time = 0.07 s.
> Total concurrent time = 0.43 s ( 0.07 s marking).
>
> at
> com.cgws.ccp.flink.job.FlinkJobSubmitter.doExecute(FlinkJobSubmitter.java:233)
> at
> com.cgws.ccp.flink.job.FlinkJobSubmitter.execute(FlinkJobSubmitter.java:240)
> at com.cgws.ccp.server.jobs.JobManager.submit(JobManager.java:189)
> at com.cgws.ccp.server.jobs.JobManager.submit(JobManager.java:156)
> at com.cgws.ccp.server.jobs
> .transitions.StartTransitionCallback.startJob(StartTransitionCallback.java:221)
> at com.cgws.ccp.server.jobs
> .transitions.StartTransitionCallback.access$700(StartTransitionCallback.java:27)
> at com.cgws.ccp.server.jobs
> .transitions.StartTransitionCallback$StartThread.adjustStatusAndStart(StartTransitionCallback.java:147)
> at com.cgws.ccp.server.jobs
> .transitions.StartTransitionCallback$StartThread.run(StartTransitionCallback.java:122)
> at
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
>
>
> 还有其他的情况,比如2表join的字段:一个是int,一个是bigint,也会报上述错误,请帮忙看下是,万分感谢!
>
>
>
>
>
>
> 发件人: Leonard Xu
> 发送时间: 2022-10-22 16:58
> 收件人: user-zh
> 主题: Re: Flink SQL 问题请教
> 你好,你的Flink 版本多少呀?我记得低版本才有这个问题。
> 另外SQL可以贴下嘛?
>
> 祝好,
> Leonard
>
>
>
> > 2022年10月22日 上午11:11,邮件帮助中心 写道:
> >
> > 大家好!
> >最近在开发一个项目时,在使用CDC表和维表表做Temporal Table
> JOIN时,发现2个表Join时join字段的类型必须一致,否则提交时提示如下的错误
> >The main method caused an error: Temporal table join requires an
> equality condition on fields of table.
> >为了解决上述问题,我们做了如下尝试:
> > 1:在join时,对维表要关联的字段使用cast转换,如: JOIN ON CAST(tableA.filedA AS
> INT) = cdc_table_b.fieldB,将2个关联表的关联字段类型保持一致
> > 2:在维表上建立一个视图,在视图定义字段的类型和select时使用cast转换,然后视图和cdc表进行join,
> 此时join时字段类型理论上是一致的,
> >很可惜,上述2个解决办法未能解决问题,都是提示上述同样的错误(The main method caused an error:
> Temporal table join requires an equality condition on fields of
> table),如果在DDL中将维表要jion的字段和CDC表join的字段定义成相同的类型时,提交时不报上述错误,但在运行过程中处理数据时会出现castException,请教下大家上述问题可以怎么解决?不胜感激!
>
>