基于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。

相关实践学习
Github实时数据分析与可视化
基于Github Archive公开数据集,将项目、行为等20+种事件类型数据实时采集至Hologres进行分析,并搭建可视化大屏。
阿里云实时数仓实战 - 项目介绍及架构设计
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3 )前置知识要求   课程大纲 第一章 了解数据仓库概念 初步了解数据仓库是干什么的 第二章 按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章 数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章 采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章 用户行为数据仓库 严格按照企业的标准开发 第六章 搭建业务数仓理论基础和对表的分类同步 第七章 业务数仓的搭建  业务行为数仓效果图  
目录
相关文章
|
5天前
|
存储 安全 物联网
.NET 跨平台工业物联网网关解决方案
【9月更文挑战第28天】本文介绍了利用 .NET 构建跨平台工业物联网网关的解决方案。通过 .NET Core 和多种通信协议(如 MQTT 和 Modbus),实现工业设备的高效接入和数据采集。系统架构包括设备接入层、数据处理层、通信层、应用层和数据库层,确保数据的准确采集、实时处理和安全传输。此外,还详细阐述了设备身份认证、数据加密及安全审计等机制,确保系统的安全性。该方案适用于不同操作系统和工业环境,具备高度灵活性和扩展性。
|
2月前
|
存储 安全 物联网
物联网(IoT)安全:挑战与解决方案
【8月更文挑战第5天】物联网(IoT)深刻改变着我们的生活,但随之而来的安全挑战不容忽视。面对设备身份验证复杂、数据隐私泄露、软件漏洞及资源受限等问题,本文提出加强身份验证、加密保护、定期更新、安全开发生命周期、多层次防御、安全培训及标准化合作等解决方案,旨在构建一个更加安全可靠的物联网环境。
|
5月前
|
存储 安全 物联网
物联网设备的安全挑战与解决方案
【5月更文挑战第31天】随着物联网技术的发展,大量设备联网带来严重安全挑战。设备计算能力有限,易受黑客攻击;多样性和复杂性增加管理难度;环境暴露及用户安全意识薄弱也是问题。解决方法包括:增强设备身份认证、定期更新软件、实施网络隔离和访问控制、加密数据以及建立安全监测机制。Python 示例展示了数据加密方法。提升用户安全意识同样关键。综合施策,强化安全研究,保障物联网设备安全,促进行业健康发展。重视物联网安全,打造安全可靠的数字环境。
76 0
|
5月前
|
物联网 PHP 区块链
区块链和物联网解决方案实用指南(二)(3)
区块链和物联网解决方案实用指南(二)
31 0
|
12月前
|
存储 索引
表格存储根据多元索引查询条件直接更新数据
表格存储是否可以根据多元索引查询条件直接更新数据?
97 3
|
SQL 存储 弹性计算
玩转Tablestore:使用Grafana快速展示时序数据
Grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,可以通过将采集的数据查询然后可视化的展示,实现报警通知;Grafana拥有丰富的数据源,官方支持以下数据源:Graphite,Elasticsearch,InfluxDB,Prometheus,Cloudwatch,MySQ
1736 0
|
3月前
|
DataWorks NoSQL 关系型数据库
DataWorks产品使用合集之如何从Tablestore同步数据到MySQL
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
5月前
|
分布式计算 DataWorks API
DataWorks常见问题之按指定条件物理删除OTS中的数据失败如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
5月前
|
DataWorks NoSQL 关系型数据库
可以使用dataworks从tablestore同步数据到mysql吗?
可以使用dataworks从tablestore同步数据到mysql吗?
63 1
|
NoSQL 开发工具
TableStore表格存储(阿里云OTS)多行数据操作查询,支持倒序,过滤条件和分页
1. 批量读取操作 批量读取操作可以通过多种方式进行,包括: GetRow:根据主键读取一行数据。 BatchGetRow:批量读取多行数据。 GetRange:根据范围读取多行数据。
828 0

相关产品

  • 物联网平台
  • 下一篇
    无影云桌面