本发明专利技术公开了一种基于流处理大数据实时计算任务平台技术的方法,涉及实时计算任务平台技术领域。本发明专利技术至少包括以下步骤:基于Flink程序的处理流计算引擎,将实时数据的处理分成一系列的小批量任务,并由Flink运行时框架执行,在Flink程序中以层级式系统形式组件其软件栈,不同层的栈建立在其下层基础上,并且各层接收程序不同层的抽象形式,运行时层以JobGraph形式接收程序,采用DataStreamAPI和DataSetAPI单独编译的处理方式生成JobGraph。本发明专利技术通过整体的设计,从而实现一种基于流处理大数据实时计算任务平台的技术,进而实现云原生数据仓库,能够充分地利用云架构提供的资源弹性优势,为用户提供成本更低、效率更高的数仓服务。效率更高的数仓服务。
【技术实现步骤摘要】
一种基于流处理大数据实时计算任务平台技术的方法
[0001]本专利技术涉及实时计算任务平台
,具体为一种基于流处理大数据实时计算任务平台技术的方法。
技术介绍
[0002]大数据中与离线计算对应的则是实时计算,由于应用场景的各不相同,所以这两种计算引擎接收数据的方式也不太一样:离线计算的数据是固定的即为不再会发生变化的,通常离线计算的任务都是定时的,然而实时计算的数据源却是流式的,对于流处理往往需要柴永实时计算进行应用,但是,现有应用的方法,缺乏搭建大数据实时计算引擎的计算任务平台,导致效果较差。
技术实现思路
[0003]本专利技术的目的在于提供一种基于流处理大数据实时计算任务平台技术的方法,以解决上述
技术介绍
中提出的问题。
[0004]为实现上述目的,本专利技术提供如下技术方案:一种基于流处理大数据实时计算任务平台技术的方法,至少包括以下步骤:
[0005]基于Flink程序的处理流计算引擎,将实时数据的处理分成一系列的小批量任务,并由Flink运行时框架执行;
[0006]在Flink程序中以层级式系统形式组件其软件栈,不同层的栈建立在其下层基础上,并且各层接受程序不同层的抽象形式;
[0007]运行时层以JobGraph形式接收程序;
[0008]采用DataStreamAPI和DataSetAPI单独编译的处理方式生成JobGraph;
[0009]通过Flink中的Stream形成中间结果数据,并通过执行Transformation 对一个或多个输入Stream进行计算处理以及输出一个或多个结果Stream;
[0010]Flink程序被执行的时候,被映射形成StreamingDataflow, StreamingDataflow包括一组Stream和TransformationOperator;
[0011]对Stream和TransformationOperator进行应用;
[0012]使用WaterMark衡量时间,将WaterMark携带的时间戳t插入到stream。
[0013]进一步地,对所述Stream的应用为对Stream进行分区,形成 StreamPartitions,
[0014]进一步地,对所述TransformationOperator的应用为对 TransformationOperator进行分区,形成多个OperatorSubtask,将多个 OperatorSubtask串起来组成一个OperatorChain。
[0015]与现有技术相比,本专利技术的有益效果是:
[0016]本专利技术通过整体的设计,从而实现一种基于流处理大数据实时计算任务平台的技术,进而实现云原生数据仓库,能够充分地利用云架构提供的资源弹性优势,为用户提供成本更低、效率更高的数仓服务。
具体实施方式
[0017]一种基于流处理大数据实时计算任务平台技术的方法,至少包括以下步骤:
[0018]基于Flink程序的处理流计算引擎,将实时数据的处理分成一系列的小批量任务,并由Flink运行时框架执行;
[0019]它保留了所有Flink运行时计算框架的优点,具体特点如下:
[0020]大数据实时计算任务平台具有高性能、稳定性好等特征;并且根据在测试和实际部署应用中遇到的问题和需求,丰富大数据实时计算任务平台的功能、简化流计算应用的开发以及管理成本;另外Kafka作为生产环境中常用的数据源,大数据实时计算任务平台也做了对应的性能优化和功能开发。
[0021]高吞吐量:大数据实时计算任务平台具有高吞吐量的特点,与Storm相比,大数据实时计算任务平台的吞吐量要高2~5倍。
[0022]灵活扩展及高容错:大数据实时计算任务平台集群支持灵活地进行线性扩展。
[0023]简单丰富的编程接口:大数据实时计算任务平台提供高级语言和SQL的编程接口,降低用户的编程难度,让用户可以通过简单的接口完成复杂的业务处理逻辑。
[0024]支持多种数据源:大数据实时计算任务平台内置支持多种数据源,简单的如文件系统、Socket连接,复杂的如Kafka、Flume等;还支持用户自定义数据源。
[0025]丰富的结果处理:用户可以将流计算的处理结果进行多种处理,可以持久化到关系数据库、HDFS等;也可以通过接口服务将结果推送到其他系统,进行分析统计展现等。
[0026]高性能:大数据实时计算任务平台支持将接收到的数据持久化到Off
‑
Heap 和SSD,可以有效防止GC的影响,消除流计算的性能波动;支持多Receiver模型,这样可以提高数据接收的并行度;大数据实时计算任务平台创建的Receiver 能够自动识别Kafka集群数据的Locality,避免Receiver接收数据时占用不必要的网络带宽。
[0027]高可用:大数据实时计算任务平台能够保证用户的流计算应用运行过程中不丢失数据。大数据实时计算任务平台通过WAL(WriteAheadLog)以及Flink运行时框架中RDD的重算机制,可以保证在计算节点发生故障时,数据也能被正常地处理;通过Checkpoint机制,当流计算应用的Driver从故障恢复之后,能够将发生故障时还未处理的数据处理,保证数据不丢失。
[0028]在Flink程序中以层级式系统形式组件其软件栈,不同层的栈建立在其下层基础上,并且各层接受程序不同层的抽象形式;
[0029]运行时层以JobGraph形式接收程序,JobGraph即为一个一般化的并行数据流图(dataflow),它拥有任意数量的Task来接收和产生datastream;
[0030]采用DataStreamAPI和DataSetAPI单独编译的处理方式生成JobGraph, DataSetAPI使用optimizer来决定针对程序的优化方法,而DataStreamAPI则使用streambuilder来完成该任务;
[0031]在执行JobGraph时,Flink提供了多种候选部署方案(如local,remote, YARN等);
[0032]在运行过程中添加产生DataSet或DataStreamAPI程序的类库和API:
[0033]处理逻辑表查询的Table;
[0034]机器学习的FlinkML;
[0035]图像处理的Gelly;
[0036]复杂事件处理的CEP;
[0037]通过Flink中的Stream形成中间结果数据,并通过执行Transformation 对一个或多个输入Stream进行计算处理以及输出一个或多个结果Stream;
[0038]Flink程序被执行的时候,被映射形成StreamingDataflow, StreamingDataflow包括一组Stream和TransformationOperator;
[0039]对Strea本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于流处理大数据实时计算任务平台技术的方法,其特征在于:至少包括以下步骤:基于Flink程序的处理流计算引擎,将实时数据的处理分成一系列的小批量任务,并由Flink运行时框架执行;在Flink程序中以层级式系统形式组件其软件栈,不同层的栈建立在其下层基础上,并且各层接受程序不同层的抽象形式;运行时层以JobGraph形式接收程序;采用DataStreamAPI和DataSetAPI单独编译的处理方式生成JobGraph;通过Flink中的Stream形成中间结果数据,并通过执行Transformation对一个或多个输入Stream进行计算处理以及输出一个或多个结果Stream;Flink程序被执行的时候,被映射形成StreamingDataflow,StreamingDataflow包括一组St...
【专利技术属性】
技术研发人员:魏俊杰,蓝岸,熊黄,何翼,余翔达,
申请(专利权)人:深圳新闻网传媒股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。