Mysql视图迁移到StarRocks数据不一致问题
视图逻辑
create view v_tag_view as
select
a.*
from t_table_name_1 a
left join t_table_name_2 b on a.id= b.id
inner join t_table_name_3 c on a.a_c_id= c.id
问题描述
视图v_tag_view
的基础表三张,记录数据分别为:t_table_name_1
:7312068, t_table_name_2
:439426, t_table_name_3
:934808,Mysql和StarRocks里的记录数一致,但是视图在mysql查询记录数为:499793,在StarRocks的查询记录数是:499781,相差12条。
基础表迁移方式
通过StarRocks外表方式,将mysql的表迁移到Starrocks,具体包括两步:
- 1)在StarRocks创建mysql的外表及StarRocks表;
- 2)通过overwrite将外表数据插入到StarRocks表。StarRocks表都为明细模型。
DROP TABLE IF EXISTS default_catalog.库名.表名称;
CREATE EXTERNAL TABLE default_catalog.库名.表名称
(
字段清单
)
ENGINE=mysql
PROPERTIES
(
"host" = "",
"port" = "",
"user" = "",
"password" = "",
"database" = "",
"table" = ""
);
DROP TABLE IF EXISTS default_catalog.库名.表名称;
CREATE TABLE default_catalog.rpt_db.库名.表名称;