You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kylin.apache.org by "Yaguang Jia (Jira)" <ji...@apache.org> on 2023/04/25 06:49:00 UTC

[jira] [Commented] (KYLIN-5524) When there are more than 2 parameters of concat function in cc column, SQL modeling fails.

    [ https://issues.apache.org/jira/browse/KYLIN-5524?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17716117#comment-17716117 ] 

Yaguang Jia commented on KYLIN-5524:
------------------------------------

In Kylin, realize the custom function of concat with multiple parameters by directly newing a org.apache.calcite.sql.Sql Function. In addition, when transferring spark query plans, directly call the concat function of spark with multiple parameters. See org.apache.kylin.query.runtime.Expression Converter#convert
The query will eventually convert the query plan into a spark query plan. When encountering the concat function in sql, it will take out each parameter of concat and call the concat function of spark org.apache.spark.sql.functions#concat( it receives variadic arguments)

 

在Kylin中通过直接new一个org.apache.calcite.sql.SqlFunction的方式实现concat多个参数的自定义函数。另外,在转spark查询计划时,直接调用spark多个参数的concat函数。见org.apache.kylin.query.runtime.ExpressionConverter#convert

查询最终会将查询计划转成spark的查询计划,当遇到sql中的concat函数时,会把concat的每个参数拿出来,调用spark的concat函数org.apache.spark.sql.functions#concat(它接收可变参数)

> When there are more than 2 parameters of concat function in cc column, SQL modeling fails.
> ------------------------------------------------------------------------------------------
>
>                 Key: KYLIN-5524
>                 URL: https://issues.apache.org/jira/browse/KYLIN-5524
>             Project: Kylin
>          Issue Type: New Feature
>          Components: Modeling
>    Affects Versions: 5.0-alpha
>            Reporter: Yaguang Jia
>            Priority: Major
>             Fix For: 5.0-beta
>
>         Attachments: image-2023-04-25-14-48-51-840.png
>
>
> When there are more than 2 parameters of concat function listed in cc in SQL, SQL modeling fails and an error of \{{no match found for function signature}} is reported.
>  
> 在 SQL 中 cc 列有concat函数参数大于 2 个的情况下,SQL 建模失败,报\{{no match found for function signature}}的错误



--
This message was sent by Atlassian Jira
(v8.20.10#820010)