For the error `Encountered "." at line 1, column 119.`, here are the confusing parts:
1. The error happens when I executed the last part of the sql query: INSERT INTO `test_content_metrics` SELECT * FROM `test_content_metrics_view` 2. Line 1 column 119 doesn't exist in that SQL statement. 3. None of the SQL that I've written has a period "." in it. On Wed, Nov 23, 2022 at 8:32 AM Dan Hill <quietgol...@gmail.com> wrote: > I'm using Flink 1.14.4 > > On Wed, Nov 23, 2022, 02:28 yuxia <luoyu...@alumni.sjtu.edu.cn> wrote: > >> Hi, Dan. >> I'm wondering what type of error you expect. IMO, I think most engines >> throw parse error in such way which tell you encounter an unexpected token. >> >> Best regards, >> Yuxia >> >> ------------------------------ >> *发件人: *"Dan Hill" <quietgol...@gmail.com> >> *收件人: *"User" <user@flink.apache.org> >> *发送时间: *星期三, 2022年 11 月 23日 下午 1:55:20 >> *主题: *Weird Flink SQL error >> >> Hi. I'm hitting an obfuscated Flink SQL parser error. Is there a way to >> get better errors for Flink SQL? I'm hitting it when I wrap some of the >> fields on an inner Row. >> >> >> *Works* >> >> CREATE TEMPORARY VIEW `test_content_metrics_view` AS >> SELECT >> DATE_FORMAT(TUMBLE_ROWTIME(rowtime, INTERVAL '1' DAY), 'yyyy-MM-dd'), >> platform_id, >> content_id >> FROM content_event >> GROUP BY >> platform_id, >> content_id, >> TUMBLE(rowtime, INTERVAL '1' DAY) >> >> CREATE TABLE test_content_metrics ( >> dt STRING NOT NULL, >> `platform_id` BIGINT, >> `content_id` STRING >> ) PARTITIONED BY (dt) WITH ( >> 'connector' = 'filesystem', >> 'path' = 'etl/test_content_metrics', >> 'format' = 'json', >> ) >> >> INSERT INTO `test_content_metrics` >> SELECT * FROM `test_content_metrics_view` >> >> >> *Fails* >> >> Wrapping a couple parameters in a Row causes the following exception. >> >> Caused by: org.apache.flink.sql.parser.impl.ParseException: Encountered >> "." at line 1, column 119. >> Was expecting one of: >> ")" ... >> "," ... >> >> >> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.generateParseException(FlinkSqlParserImpl.java:40981) >> >> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.jj_consume_token(FlinkSqlParserImpl.java:40792) >> >> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.ParenthesizedSimpleIdentifierList(FlinkSqlParserImpl.java:25220) >> >> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression3(FlinkSqlParserImpl.java:19925) >> >> org.apache.flink.sql.parser.impl.FlinkSqlParserImpl.Expression2b(FlinkSqlParserImpl.java:19581) >> [...] >> >> >> CREATE TEMPORARY VIEW `test_content_metrics_view` AS >> SELECT >> DATE_FORMAT(TUMBLE_ROWTIME(rowtime, INTERVAL '1' DAY), 'yyyy-MM-dd'), >> ROW( >> platform_id, >> content_id >> ) >> FROM content_event >> GROUP BY >> platform_id, >> content_id, >> TUMBLE(rowtime, INTERVAL '1' DAY) >> >> CREATE TABLE test_content_metrics ( >> dt STRING NOT NULL, >> `body` ROW( >> `platform_id` BIGINT, >> `content_id` STRING >> ) >> ) PARTITIONED BY (dt) WITH ( >> 'connector' = 'filesystem', >> 'path' = 'etl/test_content_metrics', >> 'format' = 'json', >> ) >> >> INSERT INTO `test_content_metrics` >> SELECT * FROM `test_content_metrics_view` >> >> >>