在大数据时代,实时数据分析对于企业决策和运营至关重要。传统的ETL流程在处理实时数据时存在诸多挑战,如数据延迟、处理复杂度高和扩展性受限等。
为了解决这些问题,许多企业开始采用实时数据流处理框架,如Apache Flink,来实现数据的实时同步和处理。

Flink 1.18.1 整库Mysql实时同步Doris 2.1

1. 创建订单明细表:
CREATE MATERIALIZED VIEW dwd_orders (
order_id INT,
user_id INT,
order_date DATE,
order_amount DECIMAL(10, 2),
user_name VARCHAR(255),
user_city VARCHAR(255),
...
) ENGINE=OLAP
DISTRIBUTED BY HASH(order_id) BUCKETS 10
PROPERTIES("storage_format"="v2")
AS
SELECT
o.order_id,
o.user_id,
o.order_date,
o.order_amount,
u.user_name,
u.user_city,
...
FROM ods_orders o
JOIN ods_users u ON o.user_id = u.user_id;
物化视图dwd_orders是根据订单数据表ods_orders和用户数据表ods_users创建的。它包含了订单ID、用户ID、订单日期、订单金额以及用户的姓名和城市等信息。
2. 创建用户明细表:
CREATE MATERIALIZED VIEW dwd_users (
user_id INT,
user_name VARCHAR(255),
user_city VARCHAR(255),
...
) ENGINE=OLAP
DISTRIBUTED BY HASH(user_id) BUCKETS 10
PROPERTIES("storage_format"="v2")
AS
SELECT
*
FROM ods_users;
物化视图dwd_users是根据用户数据表ods_users创建的。它包含了用户ID、用户姓名和用户城市等信息。
3.最后建立用于仪表盘的维度分析数据集
SELECT
c.city_id,
o.order_date,
SUM(o.order_amount) AS total_order_amount,
...
FROM dwd_orders o
JOIN dim_cities c ON o.user_city = c.city_name
GROUP BY c.city_id, o.order_date;
查询的目的是按照城市ID和订单日期对订单金额进行汇总。




