为了更快的定位您的问题,请提供以下信息,谢谢
【详述】问题详细描述
【背景】做过哪些操作?
【业务影响】
【StarRocks版本】例如:2.5.8
【集群规模】例如:1fe(1 follower+2observer)+3be(fe与be混部)
【机器信息】CPU虚拟核/内存/网卡,例如:32C/64G
【表模型】主键模型
这是目标表
CREATE TABLE test.dest_t
(
dt DATETIME,
name VARCHAR(2048),
age INT
)
ENGINE=olap
PRIMARY KEY(dt, name)
PARTITION BY RANGE(dt
)(
START (‘2023-08-10’) END (‘2023-08-28’) EVERY (INTERVAL 1 DAY)
)
DISTRIBUTED BY HASH(name) BUCKETS 10
PROPERTIES(
“dynamic_partition.enable” = “true”,
“dynamic_partition.time_unit” = “DAY”,
“dynamic_partition.time_zone” = “Asia/Shanghai”,
“dynamic_partition.start” = “-15”,
“dynamic_partition.end” = “3”,
“dynamic_partition.prefix” = “p”,
“dynamic_partition.buckets” = “3”,
“in_memory” = “false”,
“storage_format” = “DEFAULT”,
“enable_persistent_index” = “false”
);
这是另外一个集群的外表
CREATE External TABLE tmp.dest_t
(
dt DATETIME,
name VARCHAR(2048),
age INT
)
ENGINE=olap
PARTITION BY RANGE(dt
)
DISTRIBUTED BY HASH(name) BUCKETS 10
PROPERTIES(
“host” = “10.xx.xx.6x”,
“port” = “9021”,
“user” = “root”,
“password” = “77daab15-96a8-49c0-b763-7ed9d58ff0a0”,
“database” = “test”,
“table” = “dest_t”
);
insert into tmp.dest_t values ( 'aaa',24, '2020-12-11 10:00:00');
会报错
SQL Error [1064] [42000]: get TableMeta failed from TNetworkAddress(hostname:10.xx.xx.xx, port:9021), error: null
9021是rpc port. 固定分区下,是可以正常写入的。
当加上分区键后
CREATE External TABLE tmp.dest_t
(
dt DATETIME,
name VARCHAR(2048),
age INT
)
ENGINE=olap
PRIMARY KEY(dt, name)
PARTITION BY RANGE(`dt`)(
START ('2023-08-10') END ('2023-08-28') EVERY (INTERVAL 1 DAY)
)
DISTRIBUTED BY HASH(name) BUCKETS 10
PROPERTIES(
"host" = "10.xx.xx.6x",
"port" = "9021",
"user" = "root",
"password" = "77daab15-96a8-49c0-b763-7ed9d58ff0a0",
"database" = "test",
"table" = "dest_t"
);
show create table tmp.dest_t;
SQL Error [1064] [42000]: Unknown error
简单总结就是,starrocks external table 的目标表是动态分区的主键模型是,获取不到TableMeta