Github user ravipesala commented on a diff in the pull request:

    https://github.com/apache/carbondata/pull/1837#discussion_r163760282
  
    --- Diff: 
integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/preaaggregate/PreAggregateUtil.scala
 ---
    @@ -900,4 +876,33 @@ object PreAggregateUtil {
             aggDataMapSchema.getProperties.get("CHILD_SELECT 
QUERY").replace("&", "=")),
           CarbonCommonConstants.DEFAULT_CHARSET)
       }
    +
    +  /**
    +   * This method will start load process on the data map
    +   */
    +  def createLoadCommandForChild(
    +      columns: java.util.List[ColumnSchema],
    +      dataMapIdentifier: TableIdentifier,
    +      dataFrame: DataFrame,
    +      isOverwrite: Boolean,
    +      sparkSession: SparkSession): CarbonLoadDataCommand = {
    +    val headers = columns.asScala.filter { column =>
    +      
!column.getColumnName.equalsIgnoreCase(CarbonCommonConstants.DEFAULT_INVISIBLE_DUMMY_MEASURE)
    +    }.sortBy(_.getSchemaOrdinal).map(_.getColumnName).mkString(",")
    +    val loadCommand = CarbonLoadDataCommand(dataMapIdentifier.database,
    +      dataMapIdentifier.table,
    +      null,
    +      Nil,
    +      Map("fileheader" -> headers),
    +      isOverwriteTable = isOverwrite,
    +      dataFrame = None,
    +      internalOptions = Map(CarbonCommonConstants.IS_INTERNAL_LOAD_CALL -> 
"true"),
    +      logicalPlan = Some(dataFrame.queryExecution.logical))
    +    loadCommand.processMetadata(sparkSession)
    --- End diff --
    
    Better don't process here, just return the command and call 
`processMetadata(sparkSession)` in caller for more meaningful as method name 
says `createLoadCommandForChild`


---

Reply via email to