Skip to main content

概述

产品介绍

实时开发平台是一套基于Apache Flink构建的一站式、高性能实时大数据处理平台,广泛适用于流式数据处理场景。实时计算产品彻底规避繁重的底层流式处理逻辑开发工作,助力企业向实时化、智能化大数据计算升级转型,本文档是实时计算的使用手册。

产品特点

  • 强大的实时处理能力,集成诸多全链路功能,方便进行全链路实时计算开发,包括:
    • 强大的流计算引擎。
      1. 实时计算提供Flink SQL,支持各类错误场景的自动恢复,保证故障情况下数据处理的准确性。
      2. 支持多种内置函数,包括:字符串函数、日期函数、聚合。
    • 数据计算延迟优化到秒级甚至亚秒级。单个作业吞吐量可做到百万(记录/秒)级别。
  • 大量优化的SQL执行引擎,提供比原生Flink作业更高效的计算作业。在开发成本和运行成本方面,实时开发平台均要远低于开源流式框架。例如,项目预算时您需要考虑如下成本:
    • 编写一个复杂业务逻辑下Flink作业Java代码的人力成本。
    • 针对、作业的调试、测试、调优、上线工作成本。
    • 后续长期用于Flink、Zookeeper等开源软件的运维成本。
  • 轻量级本地化部署,最小五台物理机或者虚拟机即可部署实时开发平台

产品定位

  • 目前实时计算适用应用场景
    • 实时的网络点击PV、UV统计。
    • 统计交通卡口平均时间段内(例如平均每5分钟)的车流量。
    • 水利大坝的压力数据的统计和展现。
    • 网络支付中涉及金融盗窃固定行为规则的告警。
  • 目前实时计算无法实现的场景
    • Oracle存储过程无法使用实时计算替换。实时计算无法从功能上完全替换掉Oracle存储过程,两者面向问题领域不一致。
    • Spark作业无法无缝迁移至实时计算。Spark中涉及实时计算的部分,可以通过改造,完成从Spark至实时计算的迁移。完成迁移后您可以省去运维Spark和开发Spark等工作的成本。
    • 实时计算无法实现多条复杂规则引擎的告警功能。 如果单一数据存在多条复杂规则的告警,在系统运行的同时,告警本身也会发生变化。这类场景建议使用规则引擎系统解决,实时计算主要针对的不是此类问题。

当前实时计算对外接口定义为Flink SQL加UDF。实时计算提供服务于流式数据分析、统计、处理等应用场景的一站式开发工具。面向的用户包括数仓开发人员、数据分析师等。您通过编写Flink SQL,即可完成自身流式数据分析业务,不需要参与底层代码开发。

Flink引擎简介

Apache Flink是一个面向数据流处理和批量数据处理的可分布式的开源计算框架,它基于同一个Flink流式执行模型(streaming execution model),能够支持流处理和批处理两种应用类型。由于流处理和批处理所提供的SLA(服务等级协议)是完全不相同,流处理一般需要支持低延迟、Exactly-Once保证,而批处理需要支持高吞吐、高效处理,所以在实现的时候通常是分别给出两套实现方法,或者通过一个独立的开源框架来实现其中每一种处理方案。比较典型的有:实现批处理的开源方案有MapReduce、Spark;实现流处理的开源方案有Storm;Spark的Streaming 其实本质上也是微批处理。 Flink在实现流处理和批处理时,与传统的一些方案完全不同,它从另一个视角看待流处理和批处理,将二者统一起来:Flink是完全支持流处理,也就是说作为流处理看待时输入数据流是无界的;批处理被作为一种特殊的流处理,只是它的输入数据流被定义为有界的。

Flink引擎的特性

  • 有状态计算的Exactly-Once语义。状态是指Flink能够维护数据在时序上的聚类和聚合,同时具备checkpoint机制;
  • 支持带有事件时间(event time)语义的流处理和窗口处理。事件时间的语义使实时计算的结果更加精确,尤其在事件到达无序或者延迟的情况下。
  • 支持高度灵活的窗口(window)操作。支持基于time、count、session,以及data-driven的窗口操作,能很好的对现实环境中的创建的数据进行建模。
  • 轻量的容错处理(fault tolerance)。它使得系统既能保持高的吞吐率又能保证Exactly-Once的一致性。通过轻量的State Snapshots实现。
  • 支持高吞吐、低延迟、高性能的流处理

更多Flink的资料请参考 Flink官方文档

用户角色

角色权限
项目所有者指项目空间的创建者,拥有项目空间内的最高权限,可对该项目空间的基本属性、数据源、当前项目空间的全部资源和项目成员等进行管理,并为项目成员赋予项目管理员、开发、运维、访客角色。
项目管理员指项目空间的管理者,可对该项目空间的基本属性、数据源、当前项目空间的全部资源和项目成员等进行管理,并为项目成员赋予项目管理员、开发、访客角色。项目管理员不能对项目所有者操作。
数据开发数据开发角色的用户能够创建任务、上传资源等,但不能对项目成员进行管理。
访客只具备查看权限,没有权限进行编辑任务、运维等操作