课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,企业在处理数据上需要构建更多的平台组件,而今天我们就一起来了解一下具体情况吧,希望通过对本文的阅读,大家对于大数据有更全面的认识。
了解Flink应用开发需要先理解Flink的Streams、State、Time等基础处理语义以及Flink兼顾灵活性和方便性的多层次API。
Streams:流,分为有限数据流与无限数据流,unboundedstream是有始无终的数据流,即无限数据流;而boundedstream是限定大小的有始有终的数据集合,即有限数据流,二者的区别在于无限数据流的数据会随时间的推演而持续增加,计算持续进行且不存在结束的状态,相对的有限数据流数据大小固定,计算终会完成并处于结束的状态。
State,状态是计算过程中的数据信息,在容错恢复和Checkpoint中有重要的作用,流计算在本质上是IncrementalProcessing,因此需要不断查询保持状态;另外,为了确保Exactly-once语义,需要数据能够写入到状态中;而持久化存储,能够保证在整个分布式系统运行失败或者挂掉的情况下做到Exactly-once,这是状态的另外一个价值。
Time,分为Eventtime、Ingestiontime、Processingtime,Flink的无限数据流是一个持续的过程,时间是我们判断业务状态是否滞后,数据处理是否及时的重要依据。
API,API通常分为三层,由上而下可分为SQL/TableAPI、DataStreamAPI、ProcessFunction三层,API的表达能力及业务抽象能力都非常强大,但越接近SQL层,表达能力会逐步减弱,抽象能力会增强,反之,ProcessFunction层API的表达能力非常强,可以进行多种灵活方便的操作,但抽象能力也相对越小。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!