public static void validateSkewedInformation(List<String> colNames, List<String> skewedColNames,
      List<List<String>> skewedColValues) throws SemanticException {
   if (skewedColNames.size() > 0) {
      /**
       * all columns in skewed column name are valid columns
       */
      validateSkewedColNames(colNames, skewedColNames);

      /**
       * find out duplicate skewed column name
       */
      validateSkewedColumnNameUniqueness(skewedColNames);

      if ((skewedColValues == null) || (skewedColValues.size() == 0)) {
        /**
         * skewed column value is empty but skewed col name is not empty. something is wrong
         */
        throw new SemanticException(
            ErrorMsg.SKEWED_TABLE_SKEWED_COL_NAME_VALUE_MISMATCH_2.getMsg());
      } else {
        /**
         * each skewed col value should have the same number as number of skewed column names
         */
        validateSkewedColNameValueNumberMatch(skewedColNames, skewedColValues);
      }
    } else if (skewedColValues.size() > 0) {
      /**
       * skewed column name is empty but skewed col value is not empty. something is wrong
       */
      throw new SemanticException(
          ErrorMsg.SKEWED_TABLE_SKEWED_COL_NAME_VALUE_MISMATCH_1.getMsg());
    }
  }
Validate skewed table information.
@param colNames column names
@param skewedColNames skewed column names
@param skewedColValues skewed column values
@throws SemanticException
ql/src/java/org/apache/hadoop/hive/ql/plan/ValidationUtility.java