本文整理汇总了Java中org.apache.avro.util.ByteBufferInputStream类的典型用法代码示例。如果您正苦于以下问题:Java ByteBufferInputStream类的具体用法?Java ByteBufferInputStream怎么用?Java ByteBufferInputStream使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ByteBufferInputStream类属于org.apache.avro.util包,在下文中一共展示了ByteBufferInputStream类的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: deserialize
import org.apache.avro.util.ByteBufferInputStream; //导入依赖的package包/类
/** Deserializes the object in the given datainput using
* available Hadoop serializations.
* @throws IOException */
public static<T> T deserialize(Configuration conf, DataInput in
, T obj , Class<T> objClass) throws IOException {
SerializationFactory serializationFactory = new SerializationFactory(getOrCreateConf(conf));
Deserializer<T> deserializer = serializationFactory.getDeserializer(
objClass);
int length = WritableUtils.readVInt(in);
byte[] arr = new byte[length];
in.readFully(arr);
List<ByteBuffer> list = new ArrayList<>();
list.add(ByteBuffer.wrap(arr));
try (ByteBufferInputStream is = new ByteBufferInputStream(list)) {
deserializer.open(is);
T newObj = deserializer.deserialize(obj);
return newObj;
}finally {
if(deserializer != null)
deserializer.close();
}
}
示例2: deserializeDatum
import org.apache.avro.util.ByteBufferInputStream; //导入依赖的package包/类
public TDomainClass deserializeDatum(final SerializedDatum serializedDatum) {
try {
final DatumTypeVersion datumTypeVersion = serializedDatum.getDatumTypeVersion();
final Schema datumWriterSchema = datumSchemaRepository.getSchema(datumTypeVersion);
final Schema datumReaderSchema = datumSchemaRepository.getLatestSchema(datumTypeVersion.getDatumTypeId());
final DatumReader<? extends SpecificRecord> datumReader = new SpecificDatumReader<>(datumWriterSchema,
datumReaderSchema);
final InputStream byteBufferInputStream =
new ByteBufferInputStream(Collections.singletonList(serializedDatum.getPayload()));
final BinaryDecoder decoder = DecoderFactory.get().directBinaryDecoder(byteBufferInputStream, null);
final SpecificRecord record = datumReader.read(null, decoder);
byteBufferInputStream.close();
return avroRoundTripProjector.fromAvro(record);
} catch (final IOException e) {
throw new RuntimeException("Could not deserialize versioned payload to domain object", e);
}
}
示例3: deserialize
import org.apache.avro.util.ByteBufferInputStream; //导入依赖的package包/类
/**
* Deserializes the object in the given data input using
* available Hadoop serializations.
*
* @param conf Hadoop conf.
* @param in data input stream where serialized content is read.
* @param <T> object class type.
* @param obj data object.
* @param objClass object class type.
* @throws IOException occurred while deserializing the byte content.
* @return deserialized object.
*/
public static<T> T deserialize(Configuration conf, DataInput in
, T obj , Class<T> objClass) throws IOException {
SerializationFactory serializationFactory = new SerializationFactory(getOrCreateConf(conf));
Deserializer<T> deserializer = serializationFactory.getDeserializer(
objClass);
int length = WritableUtils.readVInt(in);
byte[] arr = new byte[length];
in.readFully(arr);
List<ByteBuffer> list = new ArrayList<>();
list.add(ByteBuffer.wrap(arr));
try (ByteBufferInputStream is = new ByteBufferInputStream(list)) {
deserializer.open(is);
T newObj = deserializer.deserialize(obj);
return newObj;
}finally {
if(deserializer != null)
deserializer.close();
}
}
示例4: singletonListTest
import org.apache.avro.util.ByteBufferInputStream; //导入依赖的package包/类
@Test
public void singletonListTest() throws Exception {
ByteBuffer bb = DecimalUtils.byteArray2byteBuffer("yuzhouwan".getBytes());
List<ByteBuffer> bytes = Collections.singletonList(bb);
ByteBufferInputStream inputStream = new ByteBufferInputStream(bytes);
BinaryDecoder bd = DecoderFactory.get().binaryDecoder(inputStream, null);
// System.out.println(new String(DecimalUtils.byteBuffer2byteArray(
// DecoderFactory.get().binaryDecoder(inputStream, null).readBytes(bb))));
}
示例5: streamRelease
import org.apache.avro.util.ByteBufferInputStream; //导入依赖的package包/类
private static void streamRelease(int count) throws IOException {
try (ByteBufferInputStream bb = new ByteBufferInputStream(Collections.singletonList(
byteArray2byteBuffer((count + "\"VM Thread\" os_prio=2 tid=0x00000000177bf000 nid=0x24f4 runnable"
).getBytes())))) {
bb.readBuffer(1000);
}
}
示例6: deserializeDatumEnvelope
import org.apache.avro.util.ByteBufferInputStream; //导入依赖的package包/类
public DatumEnvelope deserializeDatumEnvelope(final ByteBuffer buffer) {
try (final InputStream byteBufferInputStream = new ByteBufferInputStream(Collections.singletonList(buffer))) {
// hack alert: using old envelope to reconcile version diffs
final DatumReader<DatumEnvelope> datumReader = new SpecificDatumReader<>(DatumEnvelope_old.getClassSchema(),
DatumEnvelope.getClassSchema());
final BinaryDecoder decoder = DecoderFactory.get().directBinaryDecoder(byteBufferInputStream, null);
return datumReader.read(null, decoder);
} catch (final Exception e) {
throw new RuntimeException("Could not deserialize datum envelope", e);
}
}
示例7: stream
import org.apache.avro.util.ByteBufferInputStream; //导入依赖的package包/类
private static void stream(int count) throws IOException {
ByteBufferInputStream bb = new ByteBufferInputStream(Collections.singletonList(
byteArray2byteBuffer((count + "\"VM Thread\" os_prio=2 tid=0x00000000177bf000 nid=0x24f4 runnable"
).getBytes())));
bb.readBuffer(1000);
}