FORMAT
and ENCODE
section of the CREATE SOURCE
or CREATE TABLE
statement. Below is the complete list of the supported formats in RisingWave.
schema.registry
can accept multiple addresses. RisingWave will send requests to all URLs and return the first successful result.
Please be aware that:
schema_definition
section of a CREATE SOURCE
or CREATE TABLE
statement.TopicNameStrategy
as the default subject name strategy for the schema registry and looks for the schema with the subject name { topic name }-value
.map.handling.mode = 'jsonb'
, the value types can only be: null
, boolean
, int
, string
, or map
/record
/array
with these types.
BYTES
row format. However, the table or source can have exactly one field of BYTEA
data.
CREATE TABLE
statement as it can be inferred from the SCHEMA REGISTRY
. This means that the schema file location must be specified. The schema file location can be an actual Web location, which is in http://...
, https://...
, or S3://...
format, or a Confluent Schema Registry. For more details about using Schema Registry for Kafka data, see Read schema from Schema Registry.
schema.registry
can accept multiple addresses. RisingWave will send requests to all URLs and return the first successful result.
ignore_key
can be used to ignore the key part of given messages. By default, it is false
. If set to true
, only the payload part of the message will be consumed. In this case, the payload must not be empty and tombstone messages cannot be handled.
Syntax:
FORMAT
and ENCODE
sections need to be specified as UPSERT
and AVRO
respectively. RisingWave will be aware that the source message contains key fields as primary columns, as well as the Kafka message value field. If the value field of the message is not null, the row will be updated if the message key is not empty and already exists in the database table, or inserted if the message key is not empty but does not exist yet in the database table. If the value field is null, the row will be deleted.
schema.registry
can accept multiple addresses. RisingWave will send requests to all URLs and return the first successful result.
Syntax:
schema.registry
. Specify the data and encoding formats in the FORMAT
and ENCODE
sections. You can directly reference data fields in the JSON payload by their names as column names in the schema.
schema.registry
can accept multiple addresses. RisingWave will send requests to all URLs and return the first successful result.
Syntax:
schema_definition
in the syntax), and specify the data and encoding formats in the FORMAT
and ENCODE
section. You can directly reference data fields in the JSON payload by their names as column names in the schema.
Syntax:
schema_definition
in the syntax), and specify the data and encoding formats in the FORMAT
and ENCODE
sections. You can directly reference data fields in the JSON payload by their names as column names in the schema.
Note that if you are ingesting data of type timestamp
or timestamptz
in RisingWave, the upstream value must be in the range of [1973-03-03 09:46:40, 5138-11-16 09:46:40] (UTC)
. The value may be parsed and ingested incorrectly without warning.
ignore_key
can be used to ignore the key part of given messages. By default, it is false
. If set to true
, only the payload part of the message will be consumed. In this case, the payload must not be empty and tombstone messages cannot be handled.
Syntax:
_id
and payload
, where _id
comes from the MongoDB document’s id
and is the primary key, and payload
is type jsonb
and contains the rest of the document. If the document’s _id
is type ObjectID
, then when creating the column in RisingWave, specify the type of _id
as varchar
. If the document’s _id
is of type int32
or int64
, specify the type of _id
as int
or bigint
in RisingWave.
Syntax:
schema_definition
in the syntax), and specify the data and encoding formats in the FORMAT
and ENCODE
sections. You can directly reference data fields in the JSON payload by their names as column names in the schema.
Syntax:
FORMAT
and ENCODE
sections need to be specified as UPSERT
and JSON
respectively. RisingWave will be aware that the source message contains key fields as primary columns, as well as the Kafka message value field. If the value field of the message is not null, the row will be updated if the message key is not empty and already exists in the database table, or inserted if the message key is not empty but does not exist yet in the database table. If the value field is null, the row will be deleted.
You can define the schema of the source within the parentheses after the source name or specify a schema.registry
. schema.registry
can accept multiple addresses. RisingWave will send requests to all URLs and return the first successful result.
Syntax:
ENCODE PLAIN FORMAT CSV
with options. Configurable options include delimiter
and without_header
.
Syntax:
delimiter
option is required, while the without_header
option is optional, with a default value of false
.
http://...
, https://...
, or S3://...
format. For Kafka data in protobuf, instead of providing a schema location, you can provide a Confluent Schema Registry that RisingWave can get the schema from. For more details about using Schema Registry for Kafka data, see Read schema from Schema Registry.
schema.registry
can accept multiple addresses. RisingWave will send requests to all URLs and return the first successful result.
schema_definition
section of a CREATE SOURCE
or CREATE TABLE
statement.FileDescriptorSet
, which can be compiled from a .proto
file with a command like this:
timestamptz.handling.mode
timestamptz.handling.mode
parameter controls the input format for timestamptz values. It accepts the following values:
micro
: The input number will be interpreted as the number of microseconds since 1970-01-01T00:00:00Z in UTC.milli
: The input number will be interpreted as the number of milliseconds since 1970-01-01T00:00:00Z in UTC.guess_number_unit
: This has been the default setting and restricts the range of timestamptz values to [1973-03-03 09:46:40, 5138-11-16 09:46:40) in UTC.utc_string
: This format is the least ambiguous and can usually be correctly inferred without needing explicit specification.utc_without_suffix
: Allows the user to indicate that a naive timestamp is in UTC, rather than local time.format plain | upsert | debezium encode json
command, but not when using format debezium_mongo | canal | maxwell encode json
.