diff --git a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/DynamicPartitionFileRecordWriterContainer.java b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/DynamicPartitionFileRecordWriterContainer.java index 60f1b60..93635d8 100644 --- a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/DynamicPartitionFileRecordWriterContainer.java +++ b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/mapreduce/DynamicPartitionFileRecordWriterContainer.java @@ -61,6 +61,7 @@ private final Map dynamicContexts; private final Map dynamicObjectInspectors; private Map dynamicOutputJobInfo; + private String HIVE_DEFAULT_PARTITION_VALUE; /** * @param baseWriter RecordWriter to contain @@ -136,7 +137,8 @@ protected LocalFileWriter getLocalFileWriter(HCatRecord value) throws IOExceptio // be done before we delete cols. List dynamicPartValues = new ArrayList(); for (Integer colToAppend : dynamicPartCols) { - dynamicPartValues.add(value.get(colToAppend).toString()); + Object partitionValue = value.get(colToAppend); + dynamicPartValues.add(partitionValue == null? HIVE_DEFAULT_PARTITION_VALUE : partitionValue.toString()); } String dynKey = dynamicPartValues.toString();