diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java index 57df7e2..e191fec 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/TableScanDesc.java @@ -26,6 +26,7 @@ import java.util.Map; import java.util.Objects; +import org.apache.commons.collections4.MapUtils; import org.apache.hadoop.hive.common.type.DataTypePhysicalVariation; import org.apache.hadoop.hive.ql.io.AcidUtils; import org.apache.hadoop.hive.ql.metadata.Table; @@ -458,18 +459,14 @@ public void setNumBuckets(int numBuckets) { } public boolean isNeedSkipHeaderFooters() { - boolean rtn = false; + int hcount = 0; + int fcount = 0; if (tableMetadata != null && tableMetadata.getTTable() != null) { Map params = tableMetadata.getTTable().getParameters(); - if (params != null) { - String skipHVal = params.get(serdeConstants.HEADER_COUNT); - int hcount = skipHVal == null? 0 : Integer.parseInt(skipHVal); - String skipFVal = params.get(serdeConstants.FOOTER_COUNT); - int fcount = skipFVal == null? 0 : Integer.parseInt(skipFVal); - rtn = (hcount != 0 || fcount !=0 ); - } + hcount = MapUtils.getInteger(params, serdeConstants.HEADER_COUNT, 0); + fcount = MapUtils.getInteger(params, serdeConstants.FOOTER_COUNT, 0); } - return rtn; + return (hcount != 0 || fcount !=0); } @Override