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(org.apache.flink.api.common.serialization.SerializationSchema<T> serializationSchema)
Create a PulsarSerializationSchema by using the flink's
SerializationSchema. |
default void |
open(org.apache.flink.api.common.serialization.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(org.apache.flink.api.common.serialization.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.ExceptionPulsarMessage<?> 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(org.apache.flink.api.common.serialization.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–2022 The Apache Software Foundation. All rights reserved.