IN
- The message type send to Pulsar.@PublicEvolving public interface PulsarSerializationSchema<IN> extends Serializable
Modifier and Type | Method and Description |
---|---|
static <T> PulsarSerializationSchema<T> |
flinkSchema(SerializationSchema<T> serializationSchema)
Create a PulsarSerializationSchema by using the flink's
SerializationSchema . |
default void |
open(SerializationSchema.InitializationContext initializationContext,
PulsarSinkContext sinkContext,
SinkConfiguration sinkConfiguration)
Initialization method for the schema.
|
static <K,V> PulsarSerializationSchema<org.apache.pulsar.common.schema.KeyValue<K,V>> |
pulsarSchema(org.apache.pulsar.client.api.Schema<org.apache.pulsar.common.schema.KeyValue<K,V>> schema,
Class<K> keyClass,
Class<V> valueClass)
Create a PulsarSerializationSchema by using the Pulsar
Schema instance. |
static <T> PulsarSerializationSchema<T> |
pulsarSchema(org.apache.pulsar.client.api.Schema<T> schema)
Create a PulsarSerializationSchema by using the Pulsar
Schema instance. |
static <T> PulsarSerializationSchema<T> |
pulsarSchema(org.apache.pulsar.client.api.Schema<T> schema,
Class<T> typeClass)
Create a PulsarSerializationSchema by using the Pulsar
Schema instance. |
PulsarMessage<?> |
serialize(IN element,
PulsarSinkContext sinkContext)
Serializes the given element into bytes and
Schema.BYTES . |
default void open(SerializationSchema.InitializationContext initializationContext, PulsarSinkContext sinkContext, SinkConfiguration sinkConfiguration) throws Exception
serialize(Object, PulsarSinkContext)
and thus suitable for one-time setup work.
The provided SerializationSchema.InitializationContext
can be used to access additional features such
as registering user metrics.
initializationContext
- Contextual information that can be used during initialization.sinkContext
- Runtime information i.e. partitions, subtaskId.sinkConfiguration
- All the configure options for the Pulsar sink. You can add custom
options.Exception
PulsarMessage<?> serialize(IN element, PulsarSinkContext sinkContext)
Schema.BYTES
. Or you can convert it to a
new type of instance with a Schema
. The return value PulsarMessage
can be
built by PulsarMessageBuilder
. All the methods provided in the PulsarMessageBuilder
is just equals to the TypedMessageBuilder
.element
- Element to be serialized.sinkContext
- Context to provide extra information.static <T> PulsarSerializationSchema<T> flinkSchema(SerializationSchema<T> serializationSchema)
SerializationSchema
. It would
serialize the message into byte array and send it to Pulsar with Schema.BYTES
.static <T> PulsarSerializationSchema<T> pulsarSchema(org.apache.pulsar.client.api.Schema<T> schema)
Schema
instance. We can send
message with the given schema to Pulsar, this would be enabled by PulsarSinkBuilder.enableSchemaEvolution()
. We would serialize the message into bytes and
send it as Schema.BYTES
by default.
We only support primitive types here.
static <T> PulsarSerializationSchema<T> pulsarSchema(org.apache.pulsar.client.api.Schema<T> schema, Class<T> typeClass)
Schema
instance. We can send
message with the given schema to Pulsar, this would be enabled by PulsarSinkBuilder.enableSchemaEvolution()
. We would serialize the message into bytes and
send it as Schema.BYTES
by default.
We only support struct types here.
static <K,V> PulsarSerializationSchema<org.apache.pulsar.common.schema.KeyValue<K,V>> pulsarSchema(org.apache.pulsar.client.api.Schema<org.apache.pulsar.common.schema.KeyValue<K,V>> schema, Class<K> keyClass, Class<V> valueClass)
Schema
instance. We can send
message with the given schema to Pulsar, this would be enabled by PulsarSinkBuilder.enableSchemaEvolution()
. We would serialize the message into bytes and
send it as Schema.BYTES
by default.
We only support keyvalue types here.
Copyright © 2014–2024 The Apache Software Foundation. All rights reserved.