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`
>>
>>
>>

Reply via email to