@Override protected void writeDBDocument(VectorContainerWriter vectorWriter, DBDocumentReaderBase reader) throws SchemaChangeException { if (reader.next() != EventType.START_MAP) { throw dataReadError(logger, "The document did not start with START_MAP!"); } MapOrListWriterImpl writer = new MapOrListWriterImpl(vectorWriter.rootAsMap()); writer.start(); MapOrListWriter documentMapWriter = writer.map(DBConstants.DOCUMENT_FIELD); documentMapWriter.start(); // write _id field data if (includeId) { valueWriter.writeBinary(documentMapWriter, DocumentConstants.ID_KEY, reader.getIdData()); } // write rest of the data buffers Map<Integer, ByteBuffer> dataMap = reader.getDataMap(); for (Entry<Integer, ByteBuffer> familyData : dataMap.entrySet()) { valueWriter.writeBinary(documentMapWriter, String.valueOf(familyData.getKey()), familyData.getValue()); } documentMapWriter.end(); DocumentReaderWithProjection p = new DocumentReaderWithProjection(reader, projector); valueWriter.writeToListOrMap(writer, p); }
protected void writeBinary(MapOrListWriter writer, String fieldName, ByteBuffer buf) { int bufLen = buf.remaining(); buffer = buffer.reallocIfNeeded(bufLen); buffer.setBytes(0, buf, buf.position(), bufLen); writer.varBinary(fieldName).writeVarBinary(0, bufLen, buffer); }
Type elementType = elementSchema.getType(); if (elementType == Schema.Type.RECORD || elementType == Schema.Type.MAP){ writer = (MapOrListWriterImpl) writer.list(fieldName).listoftmap(fieldName); } else { writer = (MapOrListWriterImpl) writer.list(fieldName);
@Override protected void writeDBDocument(VectorContainerWriter vectorWriter, DBDocumentReaderBase reader) throws SchemaChangeException { if (reader.next() != EventType.START_MAP) { throw dataReadError(logger, "The document did not start with START_MAP!"); } MapOrListWriterImpl writer = new MapOrListWriterImpl(vectorWriter.rootAsMap()); writer.start(); MapOrListWriter documentMapWriter = writer.map(DBConstants.DOCUMENT_FIELD); documentMapWriter.start(); // write _id field data if (includeId) { valueWriter.writeBinary(documentMapWriter, DocumentConstants.ID_KEY, reader.getIdData()); } // write rest of the data buffers Map<Integer, ByteBuffer> dataMap = reader.getDataMap(); for (Entry<Integer, ByteBuffer> familyData : dataMap.entrySet()) { valueWriter.writeBinary(documentMapWriter, String.valueOf(familyData.getKey()), familyData.getValue()); } documentMapWriter.end(); DocumentReaderWithProjection p = new DocumentReaderWithProjection(reader, projector); valueWriter.writeToListOrMap(writer, p); }
protected void writeBinary(MapOrListWriter writer, String fieldName, ByteBuffer buf) { int bufLen = buf.remaining(); buffer = buffer.reallocIfNeeded(bufLen); buffer.setBytes(0, buf, buf.position(), bufLen); writer.varBinary(fieldName).writeVarBinary(0, bufLen, buffer); }
protected void writeString(MapOrListWriter writer, String fieldName, String value) { final byte[] strBytes = Bytes.toBytes(value); buffer = buffer.reallocIfNeeded(strBytes.length); buffer.setBytes(0, strBytes); writer.varChar(fieldName).writeVarChar(0, strBytes.length, buffer); }
protected void writeString(MapOrListWriter writer, String fieldName, String value) { final byte[] strBytes = Bytes.toBytes(value); buffer = buffer.reallocIfNeeded(strBytes.length); buffer.setBytes(0, strBytes); writer.varChar(fieldName).writeVarChar(0, strBytes.length, buffer); }