Github user zzcclp commented on a diff in the pull request: https://github.com/apache/carbondata/pull/1455#discussion_r148997065 --- Diff: integration/spark2/src/main/scala/org/apache/spark/sql/execution/command/management/LoadTableCommand.scala --- @@ -84,6 +84,32 @@ case class LoadTableCommand( val carbonProperty: CarbonProperties = CarbonProperties.getInstance() carbonProperty.addProperty("zookeeper.enable.lock", "false") + + val numCoresLoading = + try { + Integer.parseInt(CarbonProperties.getInstance() + .getProperty(CarbonCommonConstants.NUM_CORES_LOADING, + CarbonCommonConstants.NUM_CORES_MAX_VAL.toString())) + } catch { + case exc: NumberFormatException => + LOGGER.error("Configured value for property " + CarbonCommonConstants.NUM_CORES_LOADING + + " is wrong. ") + CarbonCommonConstants.NUM_CORES_MAX_VAL + } + // Get the minimum value of 'spark.executor.cores' and NUM_CORES_LOADING, + // If user set the NUM_CORES_LOADING, it can't exceed the value of 'spark.executor.cores'; + // If user doesn't set the NUM_CORES_LOADING, it will use the value of 'spark.executor.cores', + // but the value can't exceed the value of NUM_CORES_MAX_VAL, + // NUM_CORES_LOADING's default value is NUM_CORES_MAX_VAL; + val newNumCoresLoading = + Math.min( + sparkSession.sparkContext.conf.getInt("spark.executor.cores", 1), + numCoresLoading + ) + // update the property with new value + carbonProperty.addProperty(CarbonCommonConstants.NUM_CORES_LOADING, + newNumCoresLoading.toString()) + --- End diff -- I think it is unnecessary, If do so, it will affect other jobs and reduce the task parallelism, right?
---