diff --git a/streamingpro-core/src/main/java/streaming/dsl/load/batch/ModelExplain.scala b/streamingpro-core/src/main/java/streaming/dsl/load/batch/ModelExplain.scala index d24e9154c..042665605 100644 --- a/streamingpro-core/src/main/java/streaming/dsl/load/batch/ModelExplain.scala +++ b/streamingpro-core/src/main/java/streaming/dsl/load/batch/ModelExplain.scala @@ -117,16 +117,17 @@ class ModelList(format: String, path: String, option: Map[String, String])(spark override def explain: DataFrame = { - val items = MLMapping.getAllETNames - val rows = sparkSession.sparkContext.parallelize(items.toSeq.sorted, 1) - sparkSession.createDataFrame(rows.map { algName => + val items = MLMapping.getAllETNames.toSeq.sorted.map{algName=> val sqlAlg = ModelSelfExplain.findAlg(algName).get Row.fromSeq(Seq(algName, sqlAlg.modelType.humanFriendlyName, sqlAlg.coreCompatibility.map(f => f.coreVersion).mkString(","), sqlAlg.doc.doc, sqlAlg.doc.docType.docType ) ) - }, + } + + val rows = sparkSession.sparkContext.parallelize(items, 1) + sparkSession.createDataFrame(rows, StructType(Seq( StructField(name = "name", dataType = StringType), StructField(name = "algType", dataType = StringType), diff --git a/streamingpro-it/src/test/resources/sql/simple/issue_1641.mlsql b/streamingpro-it/src/test/resources/sql/simple/issue_1641.mlsql new file mode 100644 index 000000000..2252c605e --- /dev/null +++ b/streamingpro-it/src/test/resources/sql/simple/issue_1641.mlsql @@ -0,0 +1,6 @@ +--%comparator=tech.mlsql.it.IgnoreResultComparator + +!show et; +!lastCommand named ets; +select * from ets where name="JsonExpandExt" as output; +!assert output ''' :name == "JsonExpandExt" ''' "output should be JsonExpandExt"; \ No newline at end of file