CloudCanal x Hive 构建高效的实时数仓(1)

时间:2025-02-25 07:00:54

UPDATE SET
WHEN MATCHED [AND ] THEN
DELETE
WHEN NOT MATCHED [AND ] THEN INSERT VALUES


#### 任务级的临时表


在大数据场景下,多表汇聚的情况十分普遍,CloudCanal 在构建临时表时,利用源端的订阅 Schema Table 信息,创建不同的临时表。


通过这种方式,无论是相同或不同的任务、相同或不同的 Schema(源端)、相同或不同的 Table(源端),都能将数据写入不同的临时表,最终合并到同一个实际表中,互相之间不会产生影响。


![](/img_convert/)


#### 基于 HDFS 文件的写入方式


Hive 是建立在 Hadoop 体系上的数据仓库,而实际的数据存储在 HDFS 中。


如果直接通过 HQL 将增量数据写入 Hive,Hive 会将 HQL 转化为 MR Job,由于每一个 MR Job 处理速度相对较慢,这将导致增量性能极其差。


CloudCanal 在进行数据写入的时候,选择的是绕过 Hive 这层,直接写入 HDFS 文件系统。


目前支持 HDFS 文件格式:Text、Orc、Parquet。


#### 临时表统一 Schema


基于临时表构建的增量方式,如果临时表分散在不同的 Schema 中,将给 DBA 的管理带来不便。


为了简化管理,CloudCanal 将所有临时表构建在统一的 Schema 下,并允许用户自定义其临时表路径。


### 示例


#### 准备 CloudCanal


* 下载安装 [CloudCanal 私有部署版本]( )


#