Github user ravipesala commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1508#discussion_r153068092 --- Diff: integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/preaaggregate/PreAggregateListeners.scala --- @@ -49,13 +50,52 @@ object LoadPostAggregateListener extends OperationEventListener { carbonLoadModel.getTableName, "false") val childTableName = dataMapSchema.getRelationIdentifier.getTableName val childDatabaseName = dataMapSchema.getRelationIdentifier.getDatabaseName - val selectQuery = dataMapSchema.getProperties.get("CHILD_SELECT QUERY") - sparkSession.sql(s"insert into $childDatabaseName.$childTableName $selectQuery") + val childDataFrame = sparkSession.sql(new CarbonSpark2SqlParser() + .addPreAggLoadFunction(s"${dataMapSchema.getProperties.get("CHILD_SELECT QUERY")} ")).drop("preAggLoad") + val headers = dataMapSchema.getChildSchema.getListOfColumns.asScala.map(_.getColumnName) + .mkString(",") + try { + LoadTableCommand(Some(childDatabaseName), + childTableName, + null, + Nil, + Map("fileheader" -> headers), + isOverwriteTable = false, + dataFrame = Some(childDataFrame), + internalOptions = Map(CarbonCommonConstants.IS_INTERNAL_LOAD_CALL -> "true")).run(sparkSession) + } finally { + CarbonSession.threadUnset(CarbonCommonConstants.CARBON_INPUT_SEGMENTS + + carbonLoadModel.getDatabaseName + "." + + carbonLoadModel.getTableName) + CarbonSession.threadUnset(CarbonCommonConstants.VALIDATE_CARBON_INPUT_SEGMENTS + + carbonLoadModel.getDatabaseName + "." + + carbonLoadModel.getTableName) --- End diff -- Indentation is wrong, format properly
---