ByteArrayOutputStream
aの内容はすべてメモリに保存されるため、 a はメモリ効率が悪い という印象を受けます。
同様に、大きなストリームを呼び出すtoByteArray
と、「スケーリングが不十分」のように見えます。
では、Tom White の著書Hadoop の例: Definitive Guideの例では、両方を使用しています。
ByteArrayOutputStream out = new ByteArrayOutputStream;
Decoder decoder = DecoderFactory().defaultFactory().createBinaryDecoder(out.toByteArray(), null);
「ビッグデータ」は Avro の標準ではありませんか? 私は何が欠けていますか?
編集 1: 私がやろうとしていること- ウェブソケット経由で avros をストリーミングしているとします。独自の 1 つのレコードだけでなく、複数のレコードを逆シリアル化したい場合、例はどのようになりByteArrayOutoputStream
ますか?
BinaryDecoder
byte[]を提供するより良い方法はありますか? それとも、別の種類のストリームでしょうか? または、ストリームに複数のレコードをロードする代わりに、ストリームごとに 1 つのレコードを送信する必要がありますか?