KLOOK旅行:Apache Hudi驱动的实时数据湖优化实践

版权申诉
0 下载量 65 浏览量 更新于2024-08-06 收藏 586KB DOC 举报
KLOOK客路旅行是一家全球领先的在线旅游服务平台,其业务涵盖全球100多个国家和地区,提供了丰富的旅行产品和服务。由于业务快速发展,原有的数据同步策略无法满足实时性需求,特别是对于RDS MySQL数据库中的数据,8小时的同步频率无法适应快速变化的业务场景。因此,KLOOK决定对数据湖架构进行升级,采用Apache Hudi作为核心组件。 在原有的架构中,数据主要通过Google Alooma进行RDS的全量和增量同步,每8小时进行一次数据整合,然后通过Dataflow处理并写入数仓的ODS层。这种方式存在数据延迟且灵活性不足,难以满足实时分析和业务决策的需求。 改进后的架构引入了AWSDMS数据迁移工具,将RDS MySQL的全量数据迁移到S3存储,这不仅提高了数据的安全性和可扩展性,也为后续的数据处理提供了更高效的基础。Flink SQL Batch作业被用来批量将S3中的数据写入Hudi表,实现了秒级数据入湖,显著提升了数据实时性。 Debezium MySQL binlog订阅任务确保了MySQL数据库变更的实时捕获,并通过Flink实时同步到Kafka,进一步加速了数据流转。同时,Flink SQL作业实现了流式处理,既实时写入Hudi,也持续追加写入S3备份,以支持30天的数据回溯。Hudi catalog的数据同步工具允许Hive和Trino等分析工具访问Hudi数据,实现了OLAP查询的便捷性。 这一架构的改进带来了显著的优势:首先,数据使用和开发的灵活性大大提升,不再受制于外部服务;其次,数据延迟问题得到了有效解决,RDS数据的入仓时间缩短到了分钟或秒级别,这对于库存管理、风控等关键业务环节尤为重要。此外,实时数据湖的构建为KLOOK的其他业务部门提供了即时的数据支持,促进了业务决策的敏捷性。 KLOOK客路旅行通过引入Apache Hudi,成功地优化了数据湖架构,实现了数据的高效实时处理和灵活使用,为公司的业务增长和竞争力提升奠定了坚实的基础。