Class TypedSchemaTransformProvider<ConfigT>
java.lang.Object
org.apache.beam.sdk.schemas.transforms.TypedSchemaTransformProvider<ConfigT>
- All Implemented Interfaces:
SchemaTransformProvider
- Direct Known Subclasses:
BigQueryDirectReadSchemaTransformProvider
,BigQueryExportReadSchemaTransformProvider
,BigQueryFileLoadsSchemaTransformProvider
,BigQueryStorageWriteApiSchemaTransformProvider
,BigQueryWriteSchemaTransformProvider
,BigtableReadSchemaTransformProvider
,BigtableWriteSchemaTransformProvider
,CsvWriteTransformProvider
,DebeziumReadSchemaTransformProvider
,FileReadSchemaTransformProvider
,FileWriteSchemaTransformProvider
,FlattenTransformProvider
,GenerateSequenceSchemaTransformProvider
,IcebergCdcReadSchemaTransformProvider
,IcebergReadSchemaTransformProvider
,IcebergWriteSchemaTransformProvider
,JavaExplodeTransformProvider
,JavaFilterTransformProvider
,JavaMapToFieldsTransformProvider
,JdbcReadSchemaTransformProvider
,JdbcWriteSchemaTransformProvider
,JsonWriteTransformProvider
,KafkaReadSchemaTransformProvider
,KafkaWriteSchemaTransformProvider
,LoggingTransformProvider
,ManagedSchemaTransformProvider
,PubsubLiteReadSchemaTransformProvider
,PubsubLiteWriteSchemaTransformProvider
,PubsubReadSchemaTransformProvider
,PubsubWriteSchemaTransformProvider
,SingleStoreSchemaTransformReadProvider
,SingleStoreSchemaTransformWriteProvider
,SpannerChangestreamsReadSchemaTransformProvider
,SpannerReadSchemaTransformProvider
,SpannerWriteSchemaTransformProvider
,SqsReadSchemaTransformProvider
,TestSchemaTransformProvider
,TFRecordReadSchemaTransformProvider
,TFRecordWriteSchemaTransformProvider
,WindowIntoTransformProvider
@Internal
public abstract class TypedSchemaTransformProvider<ConfigT>
extends Object
implements SchemaTransformProvider
Like
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionfinal Schema
Returns the expected schema of the configuration object.dependencies
(Row configuration, PipelineOptions options) List the dependencies needed for this transform.protected abstract SchemaTransform
Produce a SchemaTransform from ConfigT.final SchemaTransform
Produces aSchemaTransform
from a Row configuration.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.beam.sdk.schemas.transforms.SchemaTransformProvider
description, identifier, inputCollectionNames, outputCollectionNames
-
Constructor Details
-
TypedSchemaTransformProvider
public TypedSchemaTransformProvider()
-
-
Method Details
-
configurationClass
-
from
Produce a SchemaTransform from ConfigT. Can throw aInvalidConfigurationException
or aInvalidSchemaException
. -
configurationSchema
Description copied from interface:SchemaTransformProvider
Returns the expected schema of the configuration object. Note this is distinct from the schema of the transform itself.- Specified by:
configurationSchema
in interfaceSchemaTransformProvider
-
from
Produces aSchemaTransform
from a Row configuration. Row fields are expected to have `snake_case` naming convention.- Specified by:
from
in interfaceSchemaTransformProvider
-
dependencies
Description copied from interface:SchemaTransformProvider
List the dependencies needed for this transform. Jars from classpath are used by default when Optional.empty() is returned.- Specified by:
dependencies
in interfaceSchemaTransformProvider
-