Java源码示例:org.apache.avro.message.SchemaStore
示例1
@Test
public void testCompatibleReadWithSchemaFromLookup() throws Exception {
MessageEncoder<Record> v1Encoder = new IcebergEncoder<>(SCHEMA_V1);
SchemaStore.Cache schemaCache = new SchemaStore.Cache();
schemaCache.addSchema(AvroSchemaUtil.convert(SCHEMA_V1, "table"));
IcebergDecoder<Record> v2Decoder = new IcebergDecoder<>(SCHEMA_V2, schemaCache);
ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(2));
Record record = v2Decoder.decode(v1Buffer);
Assert.assertEquals(v2Record(4L, "m-4", null), record);
}
示例2
@Test
public void testCompatibleReadWithSchemaFromLookup() throws Exception {
MessageEncoder<Record> v1Encoder = new IcebergEncoder<>(SCHEMA_V1);
SchemaStore.Cache schemaCache = new SchemaStore.Cache();
schemaCache.addSchema(AvroSchemaUtil.convert(SCHEMA_V1, "table"));
IcebergDecoder<Record> v2Decoder = new IcebergDecoder<>(SCHEMA_V2, schemaCache);
ByteBuffer v1Buffer = v1Encoder.encode(V1_RECORDS.get(2));
Record record = v2Decoder.decode(v1Buffer);
Assert.assertEquals(v2Record(4L, "m-4", null), record);
}
示例3
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<BillingBookingResponse> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<BillingBookingResponse>(MODEL$, SCHEMA$, resolver);
}
示例4
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
示例5
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<BillingBookingResponse> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<BillingBookingResponse>(MODEL$, SCHEMA$, resolver);
}
示例6
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
示例7
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
示例8
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
示例9
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<DifferentSchemaRecord> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<DifferentSchemaRecord>(MODEL$, SCHEMA$, resolver);
}
示例10
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<SchemaRecord> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<SchemaRecord>(MODEL$, SCHEMA$, resolver);
}
示例11
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
示例12
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<SimpleUser> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<SimpleUser>(MODEL$, SCHEMA$, resolver);
}
示例13
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<User> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<User>(MODEL$, SCHEMA$, resolver);
}
示例14
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<SimpleRecord> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<SimpleRecord>(MODEL$, SCHEMA$, resolver);
}
示例15
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
示例16
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<ComplexPayloadAvro> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<ComplexPayloadAvro>(MODEL$, SCHEMA$, resolver);
}
示例17
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<InnerPayLoadAvro> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<InnerPayLoadAvro>(MODEL$, SCHEMA$, resolver);
}
示例18
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
示例19
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<User> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<User>(MODEL$, SCHEMA$, resolver);
}
示例20
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
示例21
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link
* SchemaStore}.
*
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<TweetMsg> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<TweetMsg>(MODEL$, SCHEMA$, resolver);
}
示例22
/**
* Creates a new decoder that constructs datum instances described by an
* {@link org.apache.iceberg.Schema Iceberg schema}.
* <p>
* The {@code readSchema} is as used the expected schema (read schema). Datum instances created
* by this class will are described by the expected schema.
* <p>
* The schema used to decode incoming buffers is determined by the schema fingerprint encoded in
* the message header. This class can decode messages that were encoded using the
* {@code readSchema} and other schemas that are added using
* {@link #addSchema(org.apache.iceberg.Schema)}.
* <p>
* Schemas may also be returned from an Avro {@link SchemaStore}. Avro Schemas from the store
* must be compatible with Iceberg and should contain id properties and use only Iceberg types.
*
* @param readSchema the {@link Schema} used to construct datum instances
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public IcebergDecoder(org.apache.iceberg.Schema readSchema, SchemaStore resolver) {
this.readSchema = readSchema;
this.resolver = resolver;
addSchema(this.readSchema);
}
示例23
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<HasUnions> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<HasUnions>(MODEL$, SCHEMA$, resolver);
}
示例24
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
示例25
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<BookingOrder> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<BookingOrder>(MODEL$, SCHEMA$, resolver);
}
示例26
/**
* Creates a new decoder that constructs datum instances described by an
* {@link com.netflix.iceberg.Schema Iceberg schema}.
* <p>
* The {@code readSchema} is as used the expected schema (read schema). Datum instances created
* by this class will are described by the expected schema.
* <p>
* The schema used to decode incoming buffers is determined by the schema fingerprint encoded in
* the message header. This class can decode messages that were encoded using the
* {@code readSchema} and other schemas that are added using
* {@link #addSchema(com.netflix.iceberg.Schema)}.
* <p>
* Schemas may also be returned from an Avro {@link SchemaStore}. Avro Schemas from the store
* must be compatible with Iceberg and should contain id properties and use only Iceberg types.
*
* @param readSchema the {@link Schema} used to construct datum instances
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public IcebergDecoder(com.netflix.iceberg.Schema readSchema, SchemaStore resolver) {
this.readSchema = readSchema;
this.resolver = resolver;
addSchema(this.readSchema);
}
示例27
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<TweetMsg> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<TweetMsg>(MODEL$, SCHEMA$, resolver);
}
示例28
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
*
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<User> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<User>(MODEL$, SCHEMA$, resolver);
}
示例29
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<Address> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<Address>(MODEL$, SCHEMA$, resolver);
}
示例30
/**
* Create a new BinaryMessageDecoder instance for this class that uses the specified {@link SchemaStore}.
* @param resolver a {@link SchemaStore} used to find schemas by fingerprint
*/
public static BinaryMessageDecoder<AvroHttpRequest> createDecoder(SchemaStore resolver) {
return new BinaryMessageDecoder<AvroHttpRequest>(MODEL$, SCHEMA$, resolver);
}