zkyong opened a new issue, #6155:
URL: https://github.com/apache/seatunnel/issues/6155

   ### Search before asking
   
   - [X] I had searched in the 
[issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22)
 and found no similar issues.
   
   
   ### What happened
   
   
1、如题,ZetaSQLEngine引擎底层解析sql使用到了jsqlparser(net.sf.jsqlparser.parser.CCJSqlParserUtil#parse(java.lang.String)),但该工具类不不支持列名work关键字的同步。报错信息如下:
   ```text
   Exception in thread "main" 
org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel 
job executed failed
           at 
org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:191)
           at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40)
           at 
org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34)
   Caused by: org.apache.seatunnel.transform.exception.TransformException: 
ErrorCode:[COMMON-05], ErrorDescription:[Unsupported operation] - SQL parse 
failed: select 
id,device_no,version,type,model,work,create_time,update_time,deleted from 
gkzyzb_device, cause: net.sf.jsqlparser.parser.ParseException: Encountered 
unexpected token: "," ","
       at line 1, column 39.
   
   Was expecting one of:
   
       "&"
       "::"
       ";"
       "<<"
       ">>"
       "COLLATE"
       "CONNECT"
       "EMIT"
       "GROUP"
       "HAVING"
       "INTO"
       "START"
       "WINDOW"
       "["
       "^"
       "|"
       <EOF>
   
           at 
org.apache.seatunnel.transform.sql.zeta.ZetaSQLEngine.parseSQL(ZetaSQLEngine.java:95)
           at 
org.apache.seatunnel.transform.sql.zeta.ZetaSQLEngine.init(ZetaSQLEngine.java:83)
           at 
org.apache.seatunnel.transform.sql.SQLTransform.open(SQLTransform.java:118)
           at 
org.apache.seatunnel.transform.sql.SQLTransform.tryOpen(SQLTransform.java:127)
           at 
org.apache.seatunnel.transform.sql.SQLTransform.transformTableSchema(SQLTransform.java:145)
           at 
org.apache.seatunnel.transform.common.AbstractCatalogSupportTransform.transformCatalogTable(AbstractCatalogSupportTransform.java:56)
           at 
org.apache.seatunnel.transform.common.AbstractCatalogSupportTransform.getProducedCatalogTable(AbstractCatalogSupportTransform.java:46)
           at 
org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseTransform(MultipleTableJobConfigParser.java:463)
           at 
org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseTransforms(MultipleTableJobConfigParser.java:374)
           at 
org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:184)
           at 
org.apache.seatunnel.engine.core.job.AbstractJobEnvironment.getLogicalDag(AbstractJobEnvironment.java:109)
           at 
org.apache.seatunnel.engine.client.job.JobExecutionEnvironment.execute(JobExecutionEnvironment.java:73)
           at 
org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:143)
           ... 2 more
   ```
   
   2、我打算使用转义符绕过关键字问题,但却发现SeaTunnelRowType类不支持字段转义。
   ```text
   2024-01-08 11:23:22,140 ERROR org.apache.seatunnel.core.starter.SeaTunnel - 
Exception 
StackTrace:org.apache.seatunnel.core.starter.exception.CommandExecuteException: 
SeaTunnel job executed failed
           at 
org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:191)
           at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40)
           at 
org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:34)
   Caused by: java.lang.IllegalArgumentException: can't find field [`work`]
           at 
org.apache.seatunnel.api.table.type.SeaTunnelRowType.indexOf(SeaTunnelRowType.java:82)
           at 
org.apache.seatunnel.transform.sql.zeta.ZetaSQLType.getExpressionType(ZetaSQLType.java:91)
           at 
org.apache.seatunnel.transform.sql.zeta.ZetaSQLEngine.typeMapping(ZetaSQLEngine.java:206)
           at 
org.apache.seatunnel.transform.sql.SQLTransform.transformTableSchema(SQLTransform.java:147)
           at 
org.apache.seatunnel.transform.common.AbstractCatalogSupportTransform.transformCatalogTable(AbstractCatalogSupportTransform.java:56)
           at 
org.apache.seatunnel.transform.common.AbstractCatalogSupportTransform.getProducedCatalogTable(AbstractCatalogSupportTransform.java:46)
           at 
org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseTransform(MultipleTableJobConfigParser.java:463)
           at 
org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseTransforms(MultipleTableJobConfigParser.java:374)
           at 
org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:184)
           at 
org.apache.seatunnel.engine.core.job.AbstractJobEnvironment.getLogicalDag(AbstractJobEnvironment.java:109)
           at 
org.apache.seatunnel.engine.client.job.JobExecutionEnvironment.execute(JobExecutionEnvironment.java:73)
           at 
org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:143)
           ... 2 more
   
   2024-01-08 11:23:22,140 ERROR org.apache.seatunnel.core.starter.SeaTunnel -
   ```
   
   ### SeaTunnel Version
   
   2.3.3
   
   ### SeaTunnel Config
   
   ```conf
   数据同步脚本中部分配置如下:
       "transform" : [
         {
           "plugin_name":"Sql",
           "source_table_name" : "tb_device",
           "result_table_name" : "tb_device_ck",
           "query" : "select 
id,device_no,version,type,model,work,create_time,update_time,deleted from 
tb_device"
         }
       ],
   ```
   
   
   ### Running Command
   
   ```shell
   nohup sh $SEATUNNEL_HOME/bin/seatunnel.sh -s "20232000" > 
./logs/20232000.log 2>&1 &
   ```
   
   
   ### Error Exception
   
   ```log
   nohup sh $SEATUNNEL_HOME/bin/seatunnel.sh -s "20232000" > 
./logs/20232000.log 2>&1 &
   ```
   
   
   ### Zeta or Flink or Spark Version
   
   _No response_
   
   ### Java or Scala Version
   
   1.8
   
   ### Screenshots
   
   _No response_
   
   ### Are you willing to submit PR?
   
   - [X] Yes I am willing to submit a PR!
   
   ### Code of Conduct
   
   - [X] I agree to follow this project's [Code of 
Conduct](https://www.apache.org/foundation/policies/conduct)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to