Re: Re: Flink SQL 问题请教

2022-10-23 文章 Shengkai Fang
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,请教下大家上述问题可以怎么解决?不胜感激!
>
>


Re: Flink SQL 问题请教

2022-10-22 文章 yinghua_zh
SQL语句等周一上班时我再发出来

> 在 2022年10月22日,17:08,yinghua_zh  写道:
> 
> 
> 
>> 在 2022年10月22日,17:06,yinghua_zh  写道:
>> 
>> 感谢答复,Flink版本1.14.4
>> 
> 在 2022年10月22日,17:01,Leonard Xu  写道:
> 
> 你好,你的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,请教下大家上述问题可以怎么解决?不胜感激!
>>> 


Re: Flink SQL 问题请教

2022-10-22 文章 yinghua_zh


> 在 2022年10月22日,17:06,yinghua_zh  写道:
> 
> 感谢答复,Flink版本1.14.4
> 
>>> 在 2022年10月22日,17:01,Leonard Xu  写道:
>>> 
>>> 你好,你的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,请教下大家上述问题可以怎么解决?不胜感激!
>> 


Re: Flink SQL 问题请教

2022-10-22 文章 yinghua_zh
感谢答复,Flink版本14.4

> 在 2022年10月22日,17:01,Leonard Xu  写道:
> 
> 你好,你的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,请教下大家上述问题可以怎么解决?不胜感激!
> 


Re: Flink SQL 问题请教

2022-10-22 文章 Leonard Xu
你好,你的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,请教下大家上述问题可以怎么解决?不胜感激!



Flink SQL 问题请教

2022-10-21 文章 邮件帮助中心
大家好!
最近在开发一个项目时,在使用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,请教下大家上述问题可以怎么解决?不胜感激!

Flink SQL问题请教:Flink SQL中支持在一个TableEnvionment中多个DML语句提交时共用一个Yarn任务来运行吗?

2021-04-30 文章 yinghua...@163.com




yinghua...@163.com