@Override public void preFooterWrite(OrcFile.WriterContext context ) throws IOException { if(numKeysCurrentStripe > 0) { preStripeWrite(context); } context.getWriter().addUserMetadata(ACID_KEY_INDEX_NAME, UTF8.encode(lastKey.toString())); context.getWriter().addUserMetadata(OrcAcidUtils.ACID_STATS, UTF8.encode(acidStats.serialize())); }
public static AcidStats parseAcidStats(Reader reader) { if (reader.hasMetadataValue(ACID_STATS)) { try { ByteBuffer val = reader.getMetadataValue(ACID_STATS).duplicate(); return new AcidStats(utf8Decoder.decode(val).toString()); } catch (CharacterCodingException e) { throw new IllegalArgumentException("Bad string encoding for " + ACID_STATS, e); } } else { return null; } }
@Override public void preFooterWrite(OrcFile.WriterContext context ) throws IOException { context.getWriter().addUserMetadata(ACID_KEY_INDEX_NAME, UTF8.encode(lastKey.toString())); context.getWriter().addUserMetadata(OrcAcidUtils.ACID_STATS, UTF8.encode(acidStats.serialize())); }