Class AvroDiscovery

java.lang.Object
io.deephaven.kafka.ingest.AvroDiscovery

public class AvroDiscovery
extends Object
A builder for generating a Deephaven schema from an Avro schema.
  • Constructor Details

  • Method Details

    • namespace

      @NotNull public AvroDiscovery namespace​(@NotNull String namespace)
      Set the resulting namespace.
      Parameters:
      namespace - the namespace of the result schema, if not set will be discovered from Avro schema
      Returns:
      this builder
    • tableName

      @NotNull public AvroDiscovery tableName​(@NotNull String tableName)
      Set the resulting table name.
      Parameters:
      tableName - the name of the result schema, if not set will be discovered from Avro schema
      Returns:
      this builder
    • columnPartition

      @NotNull public AvroDiscovery columnPartition​(@NotNull String columnPartition)
      Set the column partition name.
      Parameters:
      columnPartition - the name of the partitioning column, if not set the schema will not have a partitioning column
      Returns:
      this builder
    • kafkaPartitionColumn

      @NotNull public AvroDiscovery kafkaPartitionColumn​(@NotNull String kafkaPartitionColumn)
      Set the name of a column to use for the Kafka partition.
      Parameters:
      kafkaPartitionColumn - the name of the Kafka partition column
      Returns:
      this builder
    • kafkaOffsetColumn

      @NotNull public AvroDiscovery kafkaOffsetColumn​(@NotNull String kafkaOffsetColumn)
      Set the name of a column to use for the Kafka offset.
      Parameters:
      kafkaOffsetColumn - the name of the Kafka offset column
      Returns:
      this builder
    • kafkaTimestampColumn

      @NotNull public AvroDiscovery kafkaTimestampColumn​(@NotNull String kafkaTimestampColumn)
      Set the name of a column to use for the Kafka timestamp.
      Parameters:
      kafkaTimestampColumn - the name of the Kafka timestamp column
      Returns:
      this builder
    • unmappableBehavior

      @NotNull public AvroDiscovery unmappableBehavior​(@NotNull AvroDiscovery.UnmappableBehavior unmappableBehavior)
      Set what should happen when an unmappable type is encountered.
      Parameters:
      unmappableBehavior - the behavior on unmappable types
      Returns:
      this builder
    • avroSchema

      @NotNull public AvroDiscovery avroSchema​(@NotNull org.apache.avro.Schema avroSchema)
      Sets the Avro schema for this builder.
      Parameters:
      avroSchema - the Avro schema object
      Returns:
      this builder
    • avroSchema

      @NotNull public AvroDiscovery avroSchema​(@NotNull File file) throws IOException
      Sets the Avro schema for this builder.
      Parameters:
      file - a file containing a JSON encoded Avro schema, see Schema.Parser.parse(File).
      Returns:
      this builder
      Throws:
      IOException
    • avroSchema

      @NotNull public AvroDiscovery avroSchema​(@NotNull String schemaString)
      Sets the Avro schema for this builder.
      Parameters:
      schemaString - a string containing a JSON encoded Avro schema, see Schema.Parser.parse(String).
      Returns:
      this builder
    • generateDeephavenSchema

      @NotNull public Schema generateDeephavenSchema()
      Generates a Deephaven schema using the parameters set in this builder.
      Returns:
      a Deephaven schema
    • generateDeephavenXml

      @NotNull public org.jdom2.Element generateDeephavenXml()
      Generates a Deephaven schema XML element using the parameters set in this builder.
      Returns:
      a Deephaven schema XML element