protected RecordUpdater createRecordUpdater(List<String> partitionValues, final Path partitionPath,
                                              int bucketId, Long minWriteId, Long maxWriteID)
          throws IOException {
    // Initialize table properties from the table parameters. This is required because the table
    // may define certain table parameters that may be required while writing. The table parameter
    // 'transactional_properties' is one such example.
    Properties tblProperties = new Properties();
    tblProperties.putAll(table.getParameters());

    AcidOutputFormat.Options options = new AcidOutputFormat.Options(conf)
            .filesystem(fs)
            .inspector(outputRowObjectInspector)
            .bucket(bucketId)
            .tableProperties(tblProperties)
            .minimumWriteId(minWriteId)
            .maximumWriteId(maxWriteID)
            .statementId(statementId)
            .finalDestination(partitionPath);

    // Add write directory information in the connection object.
    conn.addWriteDirectoryInfo(partitionValues, AcidUtils.baseOrDeltaSubdirPath(partitionPath, options));
    return acidOutputFormat.getRecordUpdater(partitionPath, options);
  }
@return the list of newly added or updated partitions.
streaming/src/java/org/apache/hive/streaming/AbstractRecordWriter.java