Flink基于宽表数据展示实时报表并支持秒级响应的方式,主要依赖于其对于DWD层宽表数据的处理。构建宽表的好处有:1. 减少了在后台的join操作和跨列计算,使用户查询响应更快;2. 数据做数据库时,如数据从ADB迁移到了hologres,join的工作提前在flink完成,hologres只需查宽表即可。
具体来说,Flink提供了多种基于SQL的实时数据打宽方式,包括双流join(Regular join)、区间join(Interval join)和时态表join(Temporal join)等。此外,Flink与Doris的联合使用也被证明能够有效提高报表接口的响应速度,例如,单表10亿级聚合查询的响应速度TP95为0.79秒,TP99为5.03秒。
总的来说,通过Flink对宽表数据的处理和优化,以及结合其他技术手段,可以实现基于宽表数据的实时报表展示,并支持秒级响应。
基于宽表数据展示实时报表,可以使用SQL查询语句进行实现。例如,可以使用以下SQL查询语句:-- holo sql -- 最近30天,每个品类的订单总量和订单总金额 SELECT TO_CHAR(order_create_time, 'YYYYMMDD'), order_product_catalog_name, COUNT(*), COUNT(order_fee) FROM dwd_orders WHERE order_create_time > now() - '30 day' :: inteval GROUP BY 1, 2 ORDER BY 1, 2;
该查询语句将根据订单创建时间(order_create_time)和品类名称(order_product_catalog_name)对订单数据进行分组,并计算每个分组的订单数量和订单总金额。同时,该查询语句还支持秒级响应,可以快速返回查询结果。 ,此回答整理自钉群“实时计算Flink产品交流群”
为了基于宽表数据展示实时报表并支持秒级响应,您可以使用Apache Flink配合其他工具来实现。一个可行的方案是使用Flink和Hologres搭建实时数仓,这样可以充分利用Flink强大的实时处理能力以及Hologres提供的Binlog、行列共存和资源强隔离等功能,实现高效、可扩展的实时数据处理和分析。此外,您还可以考虑采用Flink + Doris的架构来构建实时数仓,这种组合在实际应用中表现出色,报表接口的相应速度得到了明显提升,单表10亿级聚合查询的响应速度TP95为0.79秒,TP99为5.03秒 。
在具体实现上,您可以利用Flink SQL进行实时数据的打宽操作,这包括双流join、区间join以及时态表join等方式。举例来说,如果您想展示每个品类的订单总量和订单总金额,您可以基于DWD层的宽表数据进行查询,通过Flink的处理能力,在HoloWeb开发页面上实现秒级的响应。这样的方案可以帮助您更好地满足不断增长的数据量和实时业务需求。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。