private static List<Object> leafToLiteralList(PredicateLeaf leaf) {
    switch (leaf.getType()) {
      case LONG:
      case BOOLEAN:
      case FLOAT:
      case STRING:
        return leaf.getLiteralList();
      case DATE:
        return leaf.getLiteralList().stream().map(value -> daysFromDate((Date) value))
                .collect(Collectors.toList());
      case DECIMAL:
        return leaf.getLiteralList().stream()
                .map(value -> hiveDecimalToBigDecimal((HiveDecimalWritable) value))
                .collect(Collectors.toList());
      case TIMESTAMP:
        return leaf.getLiteralList().stream()
                .map(value -> microsFromTimestamp((Timestamp) value))
                .collect(Collectors.toList());
      default:
        throw new UnsupportedOperationException("Unknown type: " + leaf.getType());
    }
  }
In the partition path hours are represented as year-month-day-hour, e.g.
1970-01-01-01. We need to convert it to a single integer which represents the hours
from '1970-01-01 00:00:00'.
iceberg/iceberg-handler/src/main/java/org/apache/iceberg/mr/hive/HiveIcebergFilterFactory.java