IoTDB supports the exactly-once feature through idempotent writing. If two pieces of data have the same key and timestamp, the new data will overwrite the old one.
Supported DataSource Info
Datasource
Supported Versions
Url
IoTDB
>= 0.13.0
localhost:6667
Data Type Mapping
IotDB Data Type
Nexus Data Type
BOOLEAN
BOOLEAN
INT32
TINYINT
INT32
SMALLINT
INT32
INT
INT64
BIGINT
FLOAT
FLOAT
DOUBLE
DOUBLE
TEXT
STRING
Name
Type
Required
Default
Description
node_urls
String
Yes
-
IoTDB cluster address, the format is "host1:port" or "host1:port,host2:port"
username
String
Yes
-
IoTDB user username
password
String
Yes
-
IoTDB user password
key_device
String
Yes
-
Specify field name of the IoTDB deviceId in NexusRow
key_timestamp
String
No
processing time
Specify field-name of the IoTDB timestamp in NexusRow. If not specified, use processing-time as timestamp
key_measurement_fields
Array
No
exclude device & timestamp
Specify field-name of the IoTDB measurement list in NexusRow. If not specified, include all fields but exclude device & timestamp
For batch writing, when the number of buffers reaches the number of batch_size or the time reaches batch_interval_ms, the data will be flushed into the IoTDB
max_retries
Integer
No
-
The number of retries to flush failed
retry_backoff_multiplier_ms
Integer
No
-
Using as a multiplier for generating the next delay for backoff
max_retry_backoff_ms
Integer
No
-
The amount of time to wait before attempting to retry a request to IoTDB
default_thrift_buffer_size
Integer
No
-
Thrift init buffer size in IoTDB client
max_thrift_frame_size
Integer
No
-
Thrift max frame size in IoTDB client
zone_id
string
No
-
java.time.ZoneId in IoTDB client
enable_rpc_compression
Boolean
No
-
Enable rpc compression in IoTDB client
connection_timeout_in_ms
Integer
No
-
The maximum time (in ms) to wait when connecting to IoTDB