计算列只能写在最外层,不能在嵌套类型里面有计算列。
claylin <[email protected]> 于2020年7月17日周五 下午8:28写道: > hi all我这边有个嵌套的json数组,报类型转换错误(ts AS CAST(FROM_UNIXTIME(hiido_time) AS > TIMESTAMP(3)),这里报错),是不是不能这么写 > create table hiido_push_sdk_mq ( > datas ARRAY<ROW<`from` string,hdid string,event > string,hiido_time bigint,ts AS CAST(FROM_UNIXTIME(hiido_time) AS > TIMESTAMP(3)),WATERMARK FOR ts AS ts - INTERVAL '5' MINUTE>> > ) with ( > 'connector' = 'kafka', > 'topic' = 'hiido_pushsdk_event', > 'properties.bootstrap.servers' = 'kafkafs002-core001.yy.com:8103, > kafkafs002-core002.yy.com:8103,kafkafs002-core003.yy.com:8103', > 'properties.group.id' = 'push_click_sql_version_consumer', > 'scan.startup.mode' = 'latest-offset', > 'format.type' = 'json'); > > > > > 错误如下: > [ERROR] 2020-07-17 20:17:50,640(562284338) --> [http-nio-8080-exec-10] > com.yy.push.flink.sql.gateway.sql.parse.SqlCommandParser.parseBySqlParser(SqlCommandParser.java:77): > parseBySqlParser, parse: > com.yy.push.flink.sql.gateway.context.JobContext$1@5d5f32d1, stmt: create > table hiido_push_sdk_mq ( datas ARRAY<ROW<`from` > string,hdid string,event string,hiido_time bigint,ts AS > CAST(FROM_UNIXTIME(hiido_time) AS TIMESTAMP(3)),WATERMARK FOR ts AS ts - > INTERVAL '5' MINUTE>>) with ('connector' = 'kafka','topic' = > 'hiido_pushsdk_event','properties.bootstrap.servers' = ' > kafkafs002-core001.yy.com:8103,kafkafs002-core002.yy.com:8103, > kafkafs002-core003.yy.com:8103','properties.group.id' = > 'push_click_sql_version_consumer','scan.startup.mode' = > 'latest-offset','format.type' = 'json'), error info: SQL parse failed. > Encountered "AS" at line 1, column 115. > Was expecting one of: > "ROW" ... > <BRACKET_QUOTED_IDENTIFIER> ... > <QUOTED_IDENTIFIER> ... > <BACK_QUOTED_IDENTIFIER> ... > <IDENTIFIER> ... > <UNICODE_QUOTED_IDENTIFIER> ... > "STRING" ... > "BYTES" ... > "ARRAY" ... > "MULTISET" ... > "RAW" ... > "BOOLEAN" ... > "INTEGER" ... > "INT" ... > "TINYINT" ... > "SMALLINT" ... > "BIGINT" ... > "REAL" ... > "DOUBLE" ... > "FLOAT" ... > "BINARY" ... > "VARBINARY" ... > "DECIMAL" ... > "DEC" ... > "NUMERIC" ... > "ANY" ... > "CHARACTER" ... > "CHAR" ... > "VARCHAR" ... > "DATE" ... > "TIME" ... > "TIMESTAMP" ... -- Best, Benchao Li
