Hi, Polarisary~

The reason should be that `uid, device_id` can not be automatically derived 
from the type of your kafka actionStremt, you should check it and make sure 
actionStream returns suitable type.

Best,
Terry Wang



> 2019年11月5日 15:11,Polarisary <polaris...@gmail.com> 写道:
> 
> Hi ALL,
> I have a problem when use flink sql, my code like this:
> ```
>       tEnv.registerDataStream(“mytable", actionStream, "uid, device_id, 
> rowtime.rowtime”);
> ```           
> actionStream is kafka consumer,but this can not run,Exception as follow:
> 
> ```
> 
> org.apache.flink.client.program.ProgramInvocationException: The main method 
> caused an error: Too many fields referenced from an atomic type.
>       at 
> org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:593)
>       at 
> org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:438)
>       at 
> org.apache.flink.client.program.ClusterClient.run(ClusterClient.java:274)
>       at 
> org.apache.flink.client.cli.CliFrontend.executeProgram(CliFrontend.java:746)
>       at 
> org.apache.flink.client.cli.CliFrontend.runProgram(CliFrontend.java:273)
>       at org.apache.flink.client.cli.CliFrontend.run(CliFrontend.java:205)
>       at 
> org.apache.flink.client.cli.CliFrontend.parseParameters(CliFrontend.java:1010)
>       at 
> org.apache.flink.client.cli.CliFrontend.lambda$main$10(CliFrontend.java:1083)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:422)
>       at 
> org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1917)
>       at 
> org.apache.flink.runtime.security.HadoopSecurityContext.runSecured(HadoopSecurityContext.java:41)
>       at org.apache.flink.client.cli.CliFrontend.main(CliFrontend.java:1083)
> Caused by: org.apache.flink.table.api.ValidationException: Too many fields 
> referenced from an atomic type.
>       at 
> org.apache.flink.table.typeutils.FieldInfoUtils.extractFieldInfoFromAtomicType(FieldInfoUtils.java:388)
>       at 
> org.apache.flink.table.typeutils.FieldInfoUtils.extractFieldInformation(FieldInfoUtils.java:259)
>       at 
> org.apache.flink.table.typeutils.FieldInfoUtils.getFieldsInfo(FieldInfoUtils.java:227)
>       at 
> org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.lambda$asQueryOperation$0(StreamTableEnvironmentImpl.java:377)
>       at java.util.Optional.map(Optional.java:215)
>       at 
> org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.asQueryOperation(StreamTableEnvironmentImpl.java:376)
>       at 
> org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.fromDataStream(StreamTableEnvironmentImpl.java:198)
>       at 
> org.apache.flink.table.api.java.internal.StreamTableEnvironmentImpl.registerDataStream(StreamTableEnvironmentImpl.java:212)
>       at 
> feature.task.DWDActionLogDeviceGroupByDay.main(ActionLogDeviceGroupByDay.java:96)
>       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:576)
> ```
> 
> polaris...@gmail.com <mailto:polaris...@gmail.com>
> 
> 
> 
> 

Reply via email to