private FilterPredicateLeafBuilder getLeafFilterBuilderByParquetType(Type parquetType) throws HiveException {
    switch (parquetType.asPrimitiveType().getPrimitiveTypeName()){
      case INT32: // TINYINT, SMALLINT, INT
        return new IntFilterPredicateLeafBuilder();
      case INT64: // LONG
        return new LongFilterPredicateLeafBuilder();
      case FLOAT:
        return new FloatFilterPredicateLeafBuilder();
      case DOUBLE:
        return new DoubleFilterPredicateLeafBuilder();
      case BINARY: // STRING, CHAR, VARCHAR
        return new BinaryFilterPredicateLeafBuilder();
      case BOOLEAN:
        return new BooleanFilterPredicateLeafBuilder();
      default:
        String msg = String.format(FILTER_PREDICATE_CONVERSION_NOT_SUPPORTED, parquetType.asPrimitiveType().getPrimitiveTypeName());
        LOG.debug(msg);
        throw new HiveException(msg);
    }
  }
Creates FilterPredicateLeafBuilder as per Parquet FileSchema type
@param parquetType
@return
@throws HiveException
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/LeafFilterFactory.java