嗯,你这个是哪个版本呢?曾经的确是有过计算列的时候会有这种bug,不过后来已经修复了。

macia kk <[email protected]> 于2020年6月7日周日 下午3:42写道:

> 下边的代码里,没有用 `table` 字段,我现在只要把 table, database 这两行去掉,可以能跑,只要加上,就会挂
>
> Benchao Li <[email protected]> 于2020年6月7日周日 下午3:38写道:
>
> > Hi,
> > 看起来你的DDL应该没有太大问题,你可以把代码贴的再完整一点么,可能跟下面的代码有关系。
> >
> > macia kk <[email protected]> 于2020年6月7日周日 下午3:33写道:
> >
> > > 各位大佬,
> > >
> > > 我的数据源 json 里有 database, table 字段,想解析出来,是保留关键字,我加了反引号,但是还是报错,这是为什么呢
> > >
> > >     val bsSettings =
> > >
> > >
> >
> EnvironmentSettings.newInstance().useBlinkPlanner().inStreamingMode().build()
> > >     val bsTableEnv = StreamTableEnvironment.create(env, bsSettings)
> > >     val sourceTable = """CREATE TABLE my_kafak_source (
> > >                         |    `table` varchar,
> > >                         |    `database` varchar,
> > >                         |    `data` row < transaction_id varchar,
> > >                         |               user_id int,
> > >                         |               amount int,
> > >                         |    >,
> > >                         |    maxwell_ts bigint,
> > >                         |    ts_watermark as
> > > TO_TIMESTAMP(FROM_UNIXTIME(maxwell_ts/1000))
> > >                         |) WITH (
> > >                         |)""".stripMargin
> > >
> > > error
> > >
> > >  The program finished with the following exception:
> > >
> > > org.apache.flink.client.program.ProgramInvocationException: The main
> > > method caused an error: SQL parse failed. Encountered "table" at line
> > > 1, column 8.
> > > Was expecting one of:
> > >     "ABS" ...
> > >     "ALL" ...
> > >     "ARRAY" ...
> > >     "AVG" ...
> > >     "CARDINALITY" ...
> > >     "CASE" ...
> > >     "CAST" ...
> > >     "CEIL" ...
> > >
> >
> >
> > --
> >
> > Best,
> > Benchao Li
> >
>


-- 

Best,
Benchao Li

回复