public abstract class BeamKafkaTable extends BaseBeamTable
BeamKafkaTable
represent a Kafka topic, as source or target. Need to extend to convert
between BeamSqlRow
and KV<byte[], byte[]>
.schema
Modifier | Constructor and Description |
---|---|
protected |
BeamKafkaTable(Schema beamSchema) |
|
BeamKafkaTable(Schema beamSchema,
java.util.List<org.apache.kafka.common.TopicPartition> topicPartitions,
java.lang.String bootstrapServers) |
|
BeamKafkaTable(Schema beamSchema,
java.lang.String bootstrapServers,
java.util.List<java.lang.String> topics) |
Modifier and Type | Method and Description |
---|---|
PCollection<Row> |
buildIOReader(Pipeline pipeline)
create a
PCollection<BeamSqlRow> from source. |
PTransform<? super PCollection<Row>,POutput> |
buildIOWriter()
create a
IO.write() instance to write to target. |
java.lang.String |
getBootstrapServers() |
abstract PTransform<PCollection<KV<byte[],byte[]>>,PCollection<Row>> |
getPTransformForInput() |
abstract PTransform<PCollection<Row>,PCollection<KV<byte[],byte[]>>> |
getPTransformForOutput() |
BeamIOType |
getSourceType()
In Beam SQL, there's no difference between a batch query and a streaming query.
|
java.util.List<java.lang.String> |
getTopics() |
BeamKafkaTable |
updateConsumerProperties(java.util.Map<java.lang.String,java.lang.Object> configUpdates) |
getSchema
protected BeamKafkaTable(Schema beamSchema)
public BeamKafkaTable(Schema beamSchema, java.lang.String bootstrapServers, java.util.List<java.lang.String> topics)
public BeamKafkaTable(Schema beamSchema, java.util.List<org.apache.kafka.common.TopicPartition> topicPartitions, java.lang.String bootstrapServers)
public BeamKafkaTable updateConsumerProperties(java.util.Map<java.lang.String,java.lang.Object> configUpdates)
public BeamIOType getSourceType()
BeamSqlTable
BeamIOType
is used to validate the sources.public abstract PTransform<PCollection<KV<byte[],byte[]>>,PCollection<Row>> getPTransformForInput()
public abstract PTransform<PCollection<Row>,PCollection<KV<byte[],byte[]>>> getPTransformForOutput()
public PCollection<Row> buildIOReader(Pipeline pipeline)
BeamSqlTable
PCollection<BeamSqlRow>
from source.public PTransform<? super PCollection<Row>,POutput> buildIOWriter()
BeamSqlTable
IO.write()
instance to write to target.public java.lang.String getBootstrapServers()
public java.util.List<java.lang.String> getTopics()