实时离线数仓实战V2是在实时离线数仓实战V1的基础上进行扩展的系列文章。相比V1,V2主要的内容包括数据库表的调整、增加数仓建模的内容扩展、数仓性能调优等内容。

组件安装详细文档请访问:建议收藏 | 《实时/离线数仓实战》配套组件安装文档 →
访问github及gitee获取代码及相关jar包:
https://github.com/Mrkuhuo/data-warehouse-learning
https://gitee.com/wzylzjtn/data-warehouse-learning
1. 业务数据库模拟数据生成
实时离线数仓实战No.5 | 业务数据生成实战及数据模型梳理 →
2. ods层数据库创建
ODS层为原始数据层,设计的基本原则有以下几点。
• 要求保持数据原貌不做任何修改,表结构的设计依托于从业务系统同步过来的数据结构,ODS层起到备份数据的作用。
• 创建分区表,可以避免后续在对表进行查询时进行全表扫描操作。
• 在进行ODS层数据的导入之前,先要创建数据库,用于存储整个电商数据仓库项目的所有数据信息。
• 表的命名规范为:ods_表名_分区增量/全量(inc/full)标识。

最终创建完的表如下所示:

3. SeaTunnel同步MySQL数据到Doris

1)dolphinscheduler 中 创建项目 ods_hourly 用来每个小时调用一次同步任务

2)dolphinscheduler 配置 Seatunnel任务

样例代码:
env { execution.parallelism = 2 job.mode = "BATCH" checkpoint.interval = 10000}source { Jdbc { result_table_name = "mysql_seatunnel" url = "${mysql_url}" driver = "${mysql_driver}" connection_check_timeout_sec = 100 user = "${mysql_user}" password = "" query = "select id, activity_name, activity_type, activity_desc, start_time, end_time, create_time from gmall.activity_info" }}transform { Sql { source_table_name = "mysql_seatunnel" result_table_name = "seatunnel_doris" query = "select id, formatdatetime(create_time,'yyyy-MM-dd') as k1, activity_name, activity_type, activity_desc, start_time, end_time, create_time from mysql_seatunnel" }}sink { Doris { source_table_name = "seatunnel_doris" fenodes = "${doris_fe}" username = "${doris_user}" password = "" table.identifier = "ods.ods_activity_info_full" sink.enable-2pc = "true" sink.label-prefix = "test_json" doris.config = { format="json" read_json_by_line="true" } }}
设置全局参数

数据正常同步至doris

添加作者:

文章转载自大数据技能圈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




