Interface SchemaIOProvider

All Known Implementing Classes:
AvroSchemaIOProvider, BigQuerySchemaIOProvider, DataStoreV1SchemaIOProvider, JdbcSchemaIOProvider, PubsubSchemaIOProvider

@Internal public interface SchemaIOProvider
Provider to create SchemaIO instances for use in Beam SQL and other SDKs.

Internal only: This interface is actively being worked on and it will likely change as we provide implementations for more standard Beam IOs. We provide no backwards compatibility guarantees and it should not be implemented outside of the Beam repository.

For a detailed walkthrough of implementation, see s.apache.org/schemaio-development-guide

  • Method Details

    • identifier

      String identifier()
      Returns an id that uniquely represents this IO.
    • configurationSchema

      Schema configurationSchema()
      Returns the expected schema of the configuration object. Note this is distinct from the schema of the data source itself.
    • from

      SchemaIO from(String location, Row configuration, @Nullable Schema dataSchema)
      Produce a SchemaIO given a String representing the data's location, the schema of the data that resides there, and some IO-specific configuration object. Can throw a InvalidConfigurationException or a InvalidSchemaException.
    • requiresDataSchema

      boolean requiresDataSchema()
      Indicates whether the dataSchema value is necessary.
    • isBounded