@AutoService(value=SchemaTransformProvider.class) public class DebeziumReadSchemaTransformProvider extends TypedSchemaTransformProvider<DebeziumReadSchemaTransformProvider.DebeziumReadSchemaTransformConfiguration>
DebeziumIO
. This class provides a PTransform
that returns a change stream for a relational database.
The transform needs to access the source database on expansion and at pipeline
runtime. At expansion, the output PCollection
schema is
retrieved, while at runtime, the change stream is consumed.
This transform is tested against MySQL and Postgres, but it should work well for any data source supported by Debezium.
Modifier and Type | Class and Description |
---|---|
static class |
DebeziumReadSchemaTransformProvider.DebeziumReadSchemaTransformConfiguration |
Modifier | Constructor and Description |
---|---|
|
DebeziumReadSchemaTransformProvider() |
protected |
DebeziumReadSchemaTransformProvider(java.lang.Boolean isTest,
java.lang.Integer recordLimit,
java.lang.Long timeLimitMs) |
Modifier and Type | Method and Description |
---|---|
protected @NonNull @Initialized java.lang.Class<DebeziumReadSchemaTransformProvider.DebeziumReadSchemaTransformConfiguration> |
configurationClass() |
protected @NonNull @Initialized SchemaTransform |
from(DebeziumReadSchemaTransformProvider.DebeziumReadSchemaTransformConfiguration configuration)
Produce a SchemaTransform from ConfigT.
|
@NonNull @Initialized java.lang.String |
identifier()
Returns an id that uniquely represents this transform.
|
@NonNull @Initialized java.util.List<java.lang.String> |
inputCollectionNames()
Returns the input collection names of this transform.
|
@NonNull @Initialized java.util.List<java.lang.String> |
outputCollectionNames()
Returns the output collection names of this transform.
|
configurationSchema, dependencies, from
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
description
public DebeziumReadSchemaTransformProvider()
protected DebeziumReadSchemaTransformProvider(java.lang.Boolean isTest, java.lang.Integer recordLimit, java.lang.Long timeLimitMs)
protected @NonNull @Initialized java.lang.Class<DebeziumReadSchemaTransformProvider.DebeziumReadSchemaTransformConfiguration> configurationClass()
protected @NonNull @Initialized SchemaTransform from(DebeziumReadSchemaTransformProvider.DebeziumReadSchemaTransformConfiguration configuration)
TypedSchemaTransformProvider
InvalidConfigurationException
or a
InvalidSchemaException
.public @NonNull @Initialized java.lang.String identifier()
SchemaTransformProvider
public @NonNull @Initialized java.util.List<java.lang.String> inputCollectionNames()
SchemaTransformProvider
public @NonNull @Initialized java.util.List<java.lang.String> outputCollectionNames()
SchemaTransformProvider