DynamicAvroDestinations<UserT, DestinationT, OutputT> resolveDynamicDestinations() { DynamicAvroDestinations<UserT, DestinationT, OutputT> dynamicDestinations = getDynamicDestinations(); if (dynamicDestinations == null) { // In this case DestinationT is Void. FilenamePolicy usedFilenamePolicy = getFilenamePolicy(); if (usedFilenamePolicy == null) { usedFilenamePolicy = DefaultFilenamePolicy.fromStandardParameters( getFilenamePrefix(), getShardTemplate(), getFilenameSuffix(), getWindowedWrites()); } dynamicDestinations = (DynamicAvroDestinations<UserT, DestinationT, OutputT>) constantDestinations( usedFilenamePolicy, getSchema(), getMetadata(), getCodec().getCodec(), getFormatFunction()); } return dynamicDestinations; }
@Test @SuppressWarnings("unchecked") public void testWriteWithSerDeCustomXZCodec() throws Exception { AvroIO.Write<String> write = AvroIO.write(String.class).to("/tmp/foo/baz").withCodec(CodecFactory.xzCodec(9)); assertEquals( CodecFactory.xzCodec(9).toString(), SerializableUtils.clone(write.inner.getCodec()).getCodec().toString()); }
@Test public void testWriteWithCustomCodec() throws Exception { AvroIO.Write<String> write = AvroIO.write(String.class).to("/tmp/foo/baz").withCodec(CodecFactory.snappyCodec()); assertEquals(SNAPPY_CODEC, write.inner.getCodec().toString()); }
@Test public void testWriteWithDefaultCodec() throws Exception { AvroIO.Write<String> write = AvroIO.write(String.class).to("/tmp/foo/baz"); assertEquals(CodecFactory.snappyCodec().toString(), write.inner.getCodec().toString()); }
@Test @SuppressWarnings("unchecked") public void testWriteWithSerDeCustomDeflateCodec() throws Exception { AvroIO.Write<String> write = AvroIO.write(String.class).to("/tmp/foo/baz").withCodec(CodecFactory.deflateCodec(9)); assertEquals( CodecFactory.deflateCodec(9).toString(), SerializableUtils.clone(write.inner.getCodec()).getCodec().toString()); }