当前位置: 首页>>代码示例>>Java>>正文


Java ByteBufferInputStream类代码示例

本文整理汇总了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();
  }
}
 
开发者ID:jianglibo,项目名称:gora-boot,代码行数:26,代码来源:IOUtils.java

示例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);
    }
  }
 
开发者ID:outbrain,项目名称:Aletheia,代码行数:25,代码来源:AvroDatumSerDe.java

示例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();
  }
}
 
开发者ID:apache,项目名称:gora,代码行数:35,代码来源:IOUtils.java

示例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))));
    }
 
开发者ID:asdf2014,项目名称:yuzhouwan,代码行数:10,代码来源:CollectionUtilsTest.java

示例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);
    }
}
 
开发者ID:asdf2014,项目名称:yuzhouwan,代码行数:8,代码来源:StreamClose.java

示例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);
  }
}
 
开发者ID:outbrain,项目名称:Aletheia,代码行数:12,代码来源:AvroDatumEnvelopeSerDe.java

示例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);
}
 
开发者ID:asdf2014,项目名称:yuzhouwan,代码行数:7,代码来源:StreamClose.java


注:本文中的org.apache.avro.util.ByteBufferInputStream类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。