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 SchemaReturns the expected schema of the configuration object.dependencies(Row configuration, PipelineOptions options) List the dependencies needed for this transform.protected abstract SchemaTransformProduce a SchemaTransform from ConfigT.final SchemaTransformProduces aSchemaTransformfrom a Row configuration.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 aInvalidConfigurationExceptionor aInvalidSchemaException. -
configurationSchema
Description copied from interface:SchemaTransformProviderReturns the expected schema of the configuration object. Note this is distinct from the schema of the transform itself.- Specified by:
configurationSchemain interfaceSchemaTransformProvider
-
from
Produces aSchemaTransformfrom a Row configuration. Row fields are expected to have `snake_case` naming convention.- Specified by:
fromin interfaceSchemaTransformProvider
-
dependencies
Description copied from interface:SchemaTransformProviderList the dependencies needed for this transform. Jars from classpath are used by default when Optional.empty() is returned.- Specified by:
dependenciesin interfaceSchemaTransformProvider
-