public static FilterPredicate toFilterPredicate(SearchArgument sarg, MessageType schema, Map<String, TypeInfo> columnTypes) {
    Map<String, TypeInfo> columns = null;
    if (schema != null) {
      columns = new HashMap<>();
      for (Type field : schema.getFields()) {
      String columnName = field.getName();
        columns.put(columnName, columnTypes.get(columnName));
      }
    }

    try {
      return translate(sarg.getExpression(), sarg.getLeaves(), columns, schema);
    } catch(Exception e) {
      return null;
    }
  }
Translate the search argument to the filter predicate parquet uses. It includes
only the columns from the passed schema.
@return  a filter predicate translated from search argument. null is returned
         if failed to convert.
ql/src/java/org/apache/hadoop/hive/ql/io/parquet/read/ParquetFilterPredicateConverter.java