笔者最近在做物联网项目。需要使用 dataX 将数据从 Cassandra 迁移到阿里云 Lindorm 的时序数据库里。
一、脚本准备
Cassandra 的表结构如下:
CREATE KEYSPACE IF NOT EXISTS thingsboard
WITH replication = {
'class' : 'SimpleStrategy',
'replication_factor' : 1
};
CREATE TABLE IF NOT EXISTS thingsboard.ts_kv_cf (
entity_type text, // (DEVICE, CUSTOMER, TENANT)
entity_id timeuuid,
key text,
partition bigint,
ts bigint,
bool_v boolean,
str_v text,
long_v bigint,
dbl_v double,
json_v text,
PRIMARY KEY (( entity_type, entity_id, key, partition ), ts)
);
Lindorm 时序引擎的表结构如下:
CREATE TABLE ts_kv (entity_type VARCHAR TAG,entity_id VARCHAR TAG,key VARCHAR TAG,`partition` VARCHAR TAG,time BIGINT,bool_v BOOLEAN,dbl_v DOUBLE,json_v VARCHAR,long_v BIGINT,str_v VARCHAR,PRIMARY KEY(entity_type,entity_id,key,`partition`));
dataX job 脚本如下:
{
"