文章摘抄阿里云EMR上的StarRocks实践:《基于实时计算Flink使用CTAS&CDAS功能同步MySQL数据至StarRocks》
前言
CTAS可以实现单表的结构和数据同步,CDAS可以实现整库同步或者同一库中的多表结构和数据同步。下文主要介绍如何使用Flink平台和E-MapReduce StarRocks,通过CTAS&CDAS功能实现实时数仓中TP(Transaction Processing)和AP(Analytical Processing)数据同步的场景。
一、背景信息
通过CTAS(CREATE TABLE AS)语句可以在StarRocks中自动创建和Mysql中表结构一致的表,并进行数据同步,还能实时同步上游(Schema)的变更到下游表,提高在目标存储中创建表和维护源表结构变更的效率。
当执行CTAS语句时,Flink会按照以下流程执行:
(1)检查目标存储中是否存在该目标表。
- 如果不存在,则通过目标端Catalog在目标存储中创建相应的目标表,该目标表具有和数据源相同的Schema
- 如果不存在,则跳过建表。如果已存在的目标表和源表Schema