Package io.deephaven.kafka.ingest
Class AvroDiscovery
java.lang.Object
io.deephaven.kafka.ingest.SchemaDiscovery
io.deephaven.kafka.ingest.AvroDiscovery
A builder for generating a Deephaven schema from an Avro schema.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionavroSchema
(File file) Sets the Avro schema for this builder.avroSchema
(String schemaString) Sets the Avro schema for this builder.avroSchema
(org.apache.avro.Schema avroSchema) Sets the Avro schema for this builder.columnPartition
(String columnPartition) Set the column partition name.org.jdom2.Element
Generates a Deephaven schema XML element using the parameters set in this builder.kafkaKeyColumn
(String kafkaKeyColumn) kafkaOffsetColumn
(String kafkaOffsetColumn) Set the name of a column to use for the Kafka offset.kafkaPartitionColumn
(String kafkaPartitionColumn) Set the name of a column to use for the Kafka partition.kafkaTimestampColumn
(String kafkaTimestampColumn) Set the name of a column to use for the Kafka timestamp.Set the resulting namespace.Set the resulting table name.unmappableBehavior
(io.deephaven.kafka.ingest.SchemaDiscovery.UnmappableBehavior unmappableBehavior) Set what should happen when an unmappable type is encountered.Methods inherited from class io.deephaven.kafka.ingest.SchemaDiscovery
avroFactory, avroFactory, avroFactory, generateDeephavenSchema, getColumnPartition, getKafkaKeyColumn, getKafkaOffsetColumn, getKafkaPartitionColumn, getKafkaTimestampColumn, getNamespace, getTableName, getUnmappableBehavior, protobufFactory, protobufFactory, protobufFactory
-
Constructor Details
-
AvroDiscovery
public AvroDiscovery()
-
-
Method Details
-
avroSchema
Sets the Avro schema for this builder.- Parameters:
avroSchema
- the Avro schema object- Returns:
- this builder
-
avroSchema
Sets the Avro schema for this builder.- Parameters:
file
- a file containing a JSON encoded Avro schema, seeSchema.Parser.parse(File)
.- Returns:
- this builder
- Throws:
IOException
-
avroSchema
Sets the Avro schema for this builder.- Parameters:
schemaString
- a string containing a JSON encoded Avro schema, seeSchema.Parser.parse(String)
.- Returns:
- this builder
-
namespace
Description copied from class:SchemaDiscovery
Set the resulting namespace.- Overrides:
namespace
in classSchemaDiscovery
- Parameters:
namespace
- the namespace of the result schema, if not set will be discovered from Avro schema- Returns:
- this builder
-
tableName
Description copied from class:SchemaDiscovery
Set the resulting table name.- Overrides:
tableName
in classSchemaDiscovery
- Parameters:
tableName
- the name of the result schema, if not set will be discovered from Avro schema- Returns:
- this builder
-
columnPartition
Description copied from class:SchemaDiscovery
Set the column partition name.- Overrides:
columnPartition
in classSchemaDiscovery
- Parameters:
columnPartition
- the name of the partitioning column- Returns:
- this builder
-
kafkaPartitionColumn
Description copied from class:SchemaDiscovery
Set the name of a column to use for the Kafka partition.- Overrides:
kafkaPartitionColumn
in classSchemaDiscovery
- Parameters:
kafkaPartitionColumn
- the name of the Kafka partition column- Returns:
- this builder
-
kafkaOffsetColumn
Description copied from class:SchemaDiscovery
Set the name of a column to use for the Kafka offset.- Overrides:
kafkaOffsetColumn
in classSchemaDiscovery
- Parameters:
kafkaOffsetColumn
- the name of the Kafka offset column- Returns:
- this builder
-
kafkaTimestampColumn
Description copied from class:SchemaDiscovery
Set the name of a column to use for the Kafka timestamp.- Overrides:
kafkaTimestampColumn
in classSchemaDiscovery
- Parameters:
kafkaTimestampColumn
- the name of the Kafka timestamp column- Returns:
- this builder
-
kafkaKeyColumn
- Overrides:
kafkaKeyColumn
in classSchemaDiscovery
-
unmappableBehavior
@NotNull public AvroDiscovery unmappableBehavior(@NotNull io.deephaven.kafka.ingest.SchemaDiscovery.UnmappableBehavior unmappableBehavior) Description copied from class:SchemaDiscovery
Set what should happen when an unmappable type is encountered.- Overrides:
unmappableBehavior
in classSchemaDiscovery
- Parameters:
unmappableBehavior
- the behavior on unmappable types- Returns:
- this builder
-
generateDeephavenXml
@NotNull public org.jdom2.Element generateDeephavenXml()Generates a Deephaven schema XML element using the parameters set in this builder.- Specified by:
generateDeephavenXml
in classSchemaDiscovery
- Returns:
- a Deephaven schema XML element
-