基于Apache Flink的Streaming SQL实时计算平台的设计与实现

来源 :华中科技大学 | 被引量 : 0次 | 上传用户:jifeng11111
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
传统基于Hadoop生态的离线数据存储计算方案已在业界大规模应用,但受制于离线计算的高时延性,越来越多的数据应用场景已从离线转为实时。Apache Flink作为一个近几年快速发展的分布式大数据处理引擎,凭借其在实时(流)计算上的明显优势和相对完备的SQL支持,成为各公司实时计算平台的首选计算引擎。然而传统的实时计算平台大多通过打包的方式提交任务,用户的学习成本较高,开发效率低下,任务的维护成本也较高。因此迫切需要提供SQL化编程的实时计算平台。基于Apache Flink的Streaming SQL实时计算平台主要包括任务管理、数据源管理和SQL引擎模块。任务管理模块是整个平台的后端,负责任务的管理、提交、监控,管理部分包含SQL任务的开发状态、版本等管理;任务提交部分则交由部署在不同集群的多个Launcher通过Flink客户端执行具体的操作;监控部分包含作业监控和Launcher监控,实时监控任务的状态并及时更新,实时监控Launcher的状态以便在Launcher挂掉时能够正确处理对应的任务。数据源管理模块负责不同数据源信息的注册、更新以及用户自定义函数及相应文件的管理。SQL引擎模块负责将用户的SQL任务逐条按Flink SQL的类型解析出来并交由Flink引擎执行,通过Flink提供的Catalog接口实现SQL中数据源信息与数据源管理模块的对接,使得用户的SQL任务中不再需要编写DDL(Data Definition Language,数据定义语言),只需编写DML(Data Manipulation Language,数据操纵语言)。本平台使用Spring Boot开发框架,采用My SQL实现数据持久化,通过Zoo Keeper保证服务高可用性和任务可靠性。实时计算平台通过统一数据源管理,仅通过编写SQL DML完成实时计算任务的开发,降低了开发成本,提升了开发效率。经过对常用数据源的测试能够较好的完成实时计算任务,基本达到了预期目标。
其他文献
在大数据时代,企业每天都会产生海量的日志信息,这些信息里面包含着许多与企业产品相关的重要信息,而日志文件又散落于分布式集群环境中的各个节点上,这极大的增加了日志收集的难度。因此亟需一套海量日志分析系统来解决这些问题,该系统能通过大数据技术手段对这些散落于各个服务器上的海量的日志数据进行统一管理,从而分析提炼出有价值的信息。通过调研国内外日志分析系统的研究现状,结合企业中实际使用的日志分析系统的架构
学位
随着社会的发展和人口数量的增加,我国老年人口数量在逐年增加,患有各种慢性疾病待康复的老年人逐年增多。目前我国康复医疗资源紧缺,使用的大部分运动康复设备存在设计复杂、造价昂贵、使用不便等不足,已经不能满足大多数待康复患者接受充分康复训练的需求。因此,通过开发实现用于康复训练的嵌入式助步车系统可以更好地帮助病人进行行走康复训练并能提供实时数据反馈和监护,使训练过程更加科学合理。用于康复训练的嵌入式助步
学位
Kubernetes将容器视为服务,并提供自动重启、弹性伸缩等功能,是当前部署微服务的主流平台。但kubernetes集群调度在默认实现上是一种在静态资源上进行的机制,在对电商类实际应用场景进行架构部署时,仍然存在扩缩容上的冗余计算以及节点资源利用率不足等弊端,这很容易造成集群并发性能以及高可用性上的瓶颈。针对上述挑战,在借助Kubernetes作为微服务架构的部署框架的基础上,论文对传统电商微服
学位
随着深度学习的飞速发展,神经网络模型变得越来越复杂,在单一数据集上进行模型训练往往难以满足需求,而统一收集各方用户数据上传到服务器进行集中训练则会造成隐私信息泄露。为了解决这个问题,近年来兴起的联邦学习技术可以在保护用户隐私数据的同时,实现分布式数据的联合学习,从而构建全局模型。然而,在联邦学习中由于服务器无法直接获取用户的本地训练数据对其进行检验,极易遭受来自恶意用户的攻击。基于此,首先提出了一
学位
近年来,随着微服务架构的快速兴起,软件系统的技术栈变得日益庞杂,这对软件RT、稳定性等方面性能都提出了更高的要求。压力测试已然成为新系统上线、性能瓶颈探测时不可或缺的关键步骤。随着互联网行业的快速发展和与日俱增的压测需求,传统的压测工具和功能测试方法迎来了巨大挑战,目前业界提出了一种广泛适用的压测概念,即全链路压测系统。全链路压测系统是针对现网的业务场景和需求,模拟真实的洪峰流量,对系统的整个调用
学位
随着计算机技术和互联网的发展,当今社会中软件已经成为人们生活中必不可少的一个重要部分。软件产品在设计和实现时或多或少会存在一些漏洞,这些漏洞也使软件在被使用的过程中存在着巨大的安全隐患,可能会造成严重的危害。软件产品的功能日益丰富完善的同时,代码量也在不断增多,大大增加了传统的软件测试方法检测软件中漏洞的难度。设计和实现性能更好的漏洞检测系统在软件安全领域已经是一个比较重要的课题。基于静态分析的C
学位
问答系统在自然语言处理领域已经经历了长足的发展,在实际场景中,通常针对垂直领域构建问答系统,然而问答对的数据量和知识库的完整程度一直是问答对匹配精确度的核心问题。随着知识图谱的出现和发展,因其拥有针对特定领域知识的完整性和可扩展性的特点,使得知识图谱也被更多的应用到问答系统中。由于医学方面知识库的限制,医学领域问答系统一直是比较复杂的问题。本文设计了一个基于知识图谱的医学领域问答系统,主要工作为构
学位
随着移动互联网和移动终端设备的高速发展,即时通讯软件逐渐成为人们生活中必不可少的一部分,即时通讯软件节约人们沟通成本,增添了沟通乐趣。然而,市面上的绝大部分通讯软件采取闭源设计,提高了开发人员的成本。因此制定高效的网络协议,提高通信效率,降低通信的流量成本仍然是亟待解决的问题。本文阐述的分布式即时通讯系统采用分布式架构设计,操作系统采用的是Linux Release,通信协议使用的是Protoco
学位
在计算机CPU核心数量不断增加、多用户互联网应用广泛普及的背景下,如何提高计算机程序的并发度,使之充分利用多核CPU的优势以及网络的等待时间,成为了软件开发的重要问题。数据结构是计算机程序的重要组成部分,在这种背景下,数据结构的并发安全性与并发操作的性能也成为了软件开发人员关心的重要问题。因此,为满足软件开发人员在并发程序开发中对于无锁的、并发安全的数据结构的使用需求,基于不可变数据结构和Go语言
学位
在当今社会中,推荐系统已经深入到生活的方方面面,日常生活中使用的互联网应用通常都会将推荐系统作为关键的部分来给用户提供符合其偏好的项目。但是随着生活越来越多地与互联网进行绑定,以往的单纯以算法论英雄的方式已经不足以满足社会的需要。而针对现有的推荐系统,即使管理员发现推荐结果出现了问题,比如给未成年人推荐了并不合适的视频或商品,由于推荐系统的黑盒特性,管理员也难以对系统进行有效的调整。因此完全把握推
学位