基于Tablestore的一站式物联网存储解决方案-Flink 实时计算

简介: ## 需求分析在共享充电宝场景中,会有一些对实时性要求较高的计算场景。例如大屏展示每个省份、每个机柜的营收情况。这类场景不同于离线计算类的场景,需要实时地根据订单数据的变化来统计营业额,并不能采用前文中介绍的Spark近实时流批计算来实现。整个场景需求链路为根据订单增量变化,触发计算逻辑,计算结果写入Tablestore表中,提供给大屏展示。大致可以归纳成**增量写入-实时

需求分析

在共享充电宝场景中,会有一些对实时性要求较高的计算场景。例如大屏展示每个省份、每个机柜的营收情况。这类场景不同于离线计算类的场景,需要实时地根据订单数据的变化来统计营业额,并不能采用前文中介绍的Spark近实时流批计算来实现。整个场景需求链路为根据订单增量变化,触发计算逻辑,计算结果写入Tablestore表中,提供给大屏展示。大致可以归纳成增量写入-实时计算-回写/展示一系列动作。

Tablestore通道服务介绍

在介绍实时计算实现方案之前,先需要了解一下表格存储Tablestore功能之一通道服务。
通道服务是表格存储数据接口上的全增量一体化服务。可提供增量、全量、全增量三种分布式数据实时消费通道。通过对数据表建立通道,可以实现对表中存量、增量数据进行实时消费。下图介绍了通道服务的一些常见应用场景

Tablestore+Blink方案

Tablestore实现了实时计算Blink的connector,可以基于通道服务实现实时消费增量数据。本方案共分四个模块。

  • 订单源表。以表格存储Tablestore作为订单源表的存储库。在源表上建立增量类型通道,可实时监听表格中的数据变化。
  • Blink集群。Blink提供了分布式实时计算服务,可无缝动态对接表格存储通道服务,对增量数据进行分布式计算,并回写到订单结果表中。
  • 订单结果表。以表格存储Tablestore作为订单数据计算完的结果表。
  • DataV。通过DataV访问表格存储,可将表格存储数据可视化展现。

通过上述四个模块之间的对接可实现此场景需求,方案整体架构如下图所示:

实现步骤

创建源表和结果表

  1. 登录实时计算官网。开通实时计算服务。
  2. 登录表格存储官网,进入控制台,进入订单表管理-实时消费通道页面。创建增量类型通道。

  1. 创建Blink独享集群。进入集群管理创建项目。

  1. 进入项目,编写作业SQL。

    1. 创建订单数据源表
create table order_source(
  order_Md5ID VARCHAR,
  cabinet_province VARCHAR,
  order_start_time BIGINT  ,
  order_end_time BIGINT ,
  cabinet_pricePerHour  DOUBLE 
) with (
  type ='ots',
  endPoint ='Tablestore实例VPC服务地址',
  instanceName = 'Tablestore实例名',
  tableName ='order',
  tunnelName = '增量通道名',
  accessId ='',
  accessKey ='',
  ignoreDelete = 'false'
);    
  1. 创建订单结算结果表
CREATE TABLE order_sink (
    order_province VARCHAR,
    total_price DOUBLE,
    order_count BIGINT,
    primary key(order_province)
) WITH (
    type = 'ots',
    endPoint ='Tablestore实例VPC服务地址',
      instanceName = 'Tablestore实例名',
      tableName ='order_sink',
      accessId ='',
      accessKey ='',
    valueColumns = 'total_price,order_count'
);

实时计算作业

  1. 编写实时计算作业SQL。按照省份实时聚合营业额,计算结果回写Tablestore结果表。
INSERT INTO order_sink
SELECT
    cabinet_province AS province,
    sum((order_end_time - order_start_time)/3600/1000 * cabinet_pricePerHour) AS             total_price,
    count(order_Md5ID) AS order_count
    FROM order_source
    GROUP BY cabinet_province;
  1. 上线作业,启动实时计算任务。

3、Tablestore中ots_sink表实时聚合结果展示

数据可视化

  1. 登录DataV官网,开通服务,进入DataV控制台。
  2. 添加Tablestore数据源,配置AK。

  1. 设置Tablestore数据源读取方式,配置数据过滤器。DataV数据可视化实时大屏展示结果如下。

小结

通过实时计算Blink对接表格存储Tablestore源表,在订单表上建立增量数据通道,可实现分布式实时消费充电宝订单增量数据,并将全国实时营收数据的计算结果回写到Tablestore表中,通过对接DataV实现数据可视化的能力,完成大屏展示的系列过程。

联系我们

如对本章节所述有疑问或有其他问题需要咨询,欢迎加入钉钉群:“表格存储公开交流群-2”。群内提供免费的在线专家服务,欢迎扫码加入,群号23307953。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
2天前
|
消息中间件 Kafka 分布式数据库
实时计算 Flink版产品使用合集之如何批量读取Kafka数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL JSON 资源调度
实时计算 Flink版产品使用合集之如何指定FlinkYarnSession启动的properties文件存放位置
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL 监控 Oracle
实时计算 Flink版产品使用合集之如何指定表的隐藏列为主键
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
消息中间件 SQL Java
实时计算 Flink版产品使用合集之管理内存webui上一直是百分百是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
关系型数据库 测试技术 数据处理
实时计算 Flink版产品使用合集之TaskManager宕机是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
Java 数据库连接 数据处理
实时计算 Flink版产品使用合集之是否支持将数据直接写入adb
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
存储 关系型数据库 MySQL
实时计算 Flink版产品使用合集之如何配置可以实现实时同步多张MySQL源表时只读取一次binlog
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之增量阶段的顺序性保障是否必须得是单并行度
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之测试使用initial模式,使用savepoint停掉再加上表,不会做全量同步,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
2天前
|
SQL Java 数据库连接
实时计算 Flink版产品使用合集之怎么将MyBatis-Plus集成到SQL语法中
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

相关产品

  • 物联网平台