diff --git a/kylin-spark-project/kylin-spark-engine/src/main/scala/org/apache/kylin/query/runtime/ExpressionConverter.scala b/kylin-spark-project/kylin-spark-engine/src/main/scala/org/apache/kylin/query/runtime/ExpressionConverter.scala index a08affe6054..13ae14bdaf9 100644 --- a/kylin-spark-project/kylin-spark-engine/src/main/scala/org/apache/kylin/query/runtime/ExpressionConverter.scala +++ b/kylin-spark-project/kylin-spark-engine/src/main/scala/org/apache/kylin/query/runtime/ExpressionConverter.scala @@ -173,8 +173,8 @@ object ExpressionConverter { case "character_length" => length(k_lit(children.head)) case "replace" => regexp_replace(k_lit(children.head), - children.apply(1).asInstanceOf[String], - children.apply(2).asInstanceOf[String]) + k_lit(children.apply(1)), + k_lit(children.apply(2))) case "substring" | "substr" => if (children.length == 3) { //substr(str1,startPos,length) k_lit(children.head) diff --git a/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/ExpressionConverter.scala b/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/ExpressionConverter.scala index 764807d48f1..9301ff7d704 100644 --- a/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/ExpressionConverter.scala +++ b/kylin-spark-project/kylin-spark-query/src/main/scala/org/apache/kylin/query/runtime/ExpressionConverter.scala @@ -173,10 +173,10 @@ object ExpressionConverter { case "upper" => upper(k_lit(children.head)) case "char_length" => length(k_lit(children.head)) case "character_length" => length(k_lit(children.head)) - case "replace " => + case "replace" => regexp_replace(k_lit(children.head), - children.apply(1).asInstanceOf[String], - children.apply(2).asInstanceOf[String]) + k_lit(children.apply(1)), + k_lit(children.apply(2))) case "substring" | "substr" => if (children.length == 3) { //substr(str1,startPos,length) k_lit(children.head)