@Internal public abstract class TypedSchemaTransformProvider<ConfigT> extends java.lang.Object implements SchemaTransformProvider
SchemaTransformProvider except uses a configuration object instead of Schema and
Row.
ConfigT should be available in the SchemaRegistry.
configurationSchema() produces a configuration Schema that is inferred from
ConfigT using the SchemaRegistry. A Beam Row can still be used to produce a
SchemaTransform using from(Row), as long as the Row fits the configuration
Schema.
NOTE: The inferred field names in the configuration Schema and Row follow the
snake_case naming convention.
Internal only: This interface is actively being worked on and it will likely change as we provide implementations for more standard Beam transforms. We provide no backwards compatibility guarantees and it should not be implemented outside of the Beam repository.
| Constructor and Description |
|---|
TypedSchemaTransformProvider() |
| Modifier and Type | Method and Description |
|---|---|
protected java.lang.Class<ConfigT> |
configurationClass() |
Schema |
configurationSchema()
Returns the expected schema of the configuration object.
|
java.util.Optional<java.util.List<java.lang.String>> |
dependencies(Row configuration,
PipelineOptions options)
List the dependencies needed for this transform.
|
protected abstract SchemaTransform |
from(ConfigT configuration)
Produce a SchemaTransform from ConfigT.
|
SchemaTransform |
from(Row configuration)
Produces a
SchemaTransform from a Row configuration. |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitdescription, identifier, inputCollectionNames, outputCollectionNamesprotected java.lang.Class<ConfigT> configurationClass()
protected abstract SchemaTransform from(ConfigT configuration)
InvalidConfigurationException or a
InvalidSchemaException.public final Schema configurationSchema()
SchemaTransformProviderconfigurationSchema in interface SchemaTransformProviderpublic final SchemaTransform from(Row configuration)
SchemaTransform from a Row configuration. Row fields are expected to have
`snake_case` naming convention.from in interface SchemaTransformProviderpublic final java.util.Optional<java.util.List<java.lang.String>> dependencies(Row configuration, PipelineOptions options)
SchemaTransformProviderdependencies in interface SchemaTransformProvider