一、前提条件
·准备好分析集群,请参见 创建分析集群。
·已 添加数据源。
·已 加载数据到分析集群。
·集群状态为运行中。
二、自动合并库表
注意:仅 4.2509.x 及之后的版本支持自动映射策略。
1. 在数据对象页面中,单击同步与映射配置,进入配置页面。
2. 在第三步高级映射配置中,你可以设置高级映射配置的策略。
·在高级策略中,单击添加策略,新增的策略可以基于正则表达式,匹配所有相似表名规则的表,将其合并为指定表。详细说明可参考 库表映射 中关于高级策略的描述。
三、手动合并库
将对象同步到分析集群后,如果需要将多个源端数据库实例的数据放到分析引擎中的同一个数据库下,则可以使用手动合并库功能实现。
1. 登录 TDSQL-C MySQL 版控制台,在上方选择 MySQL 版(分析集群)。
2. 在左侧集群列表,单击目标集群,进入集群管理页。
3. 在集群详情页下的计算节点下,单击详情,进入实例详情页面。
4. 在对象信息下,选中所有需要合并库的表,然后单击上方的设置映射。
5. 在弹窗中,开启合并库的按钮,单击校验。则当前被选中的所有对象的映射库名都将合并到第一行对象中设置的映射库中。
四、手动合并表
将对象同步到分析集群后,如果需要将多个表结构相同的表合并为一张表。则可以使用分析集群的手动合并表功能实现。
合并表功能有几点使用要求:
·必须保证合并表之间的表结构一致。
·必须保证待合并的表都同步到分析集群。
·当对源端表进行 DDL 操作时,在分析集群中默认无法查询合并表。必须要等待合并表的所有原表的表结构保持一致后才可查询和使用。
注意:在分析集群中,如果对合并表的源端表进行 DDL 变更,例如:添加列,修改列,删除列等操作系统会有两种处理策略。
操作步骤
1. 登录 TDSQL-C MySQL 版控制台,在上方选择 MySQL 版(分析集群)。
2. 在左侧集群列表,单击目标集群,进入集群管理页。
3. 在集群详情页下的计算节点下,单击详情,进入实例详情页面。
4. 在对象信息下,选中所有需要合并的表,然后单击上方的设置映射。
5. 在弹窗中,开启合并表的按钮,单击校验。则当前被选中的所有对象的映射库名都将合并到第一行对象中设置的映射表中。
注意:说明:
注意:分析集群的映射名称可以随时修改,表合并也可以随时修改或者取消合并,修改后立即生效。
·合并到已存在的表:若勾选此项,并选择了其他库名和表名,则代表需要将当前已经选择的所有表合并到其他表中。
·添加虚拟列:若勾选此项,则代表为合并后的表新增一个虚拟列,虚拟列会为每一行记录添加一个标识,用以标识此数据的数据源。填充值可自定义,默认为实例 ID。
select * from database.merge_table;+—-+——+——————-+| id | c1 | _libra_aggid |+—-+——+——————-+| 1 | 1 | cdb-adf3123 || 2 | 2 | cdb-adf3123 || 1 | 1 | cdb-bda41ag || 2 | 2 | cdb-bda41ag || 1 | 1 | cdb-zd3123d || 2 | 2 | cdb-zd3123d |+—-+——+——————-+6 rows in set(0.01 sec)
·主表:在多表合并场景下,需要设定合并的表中的某一个表为主表。在分析引擎中进行合并表的查询的表结构将以主表为准。主表可以在使用过程中随时修改。