如何使用SQL任务计算房间电量消耗的实践案例

简介: 文本介绍一例物联网平台数据服务SQL洞察用于智能家居的实践案例

1. 需求描述

在智能家居行业里产生了各种各样场景的数字解决方案,有解决方案商使用物联网平台的能力搭建各种数据分析应用,比如房间电量消耗统计,在公寓中部署了智能电表,每隔15min上传一次累计电量,需要根据设备上传值计算用电量。结合下表理解。

设备标示

上报属性值

上报时间

用电量

房间1电表

56.2

00:00

-

房间2电表

100.2

00:00

-

房间1电表

56.3

00:15

56.3-56.2 = 0.1度电

房间2电表

101

00:15

101-100.2 = 0.8度电

房间1电表

60

08:00

60-56.3 = 3.7度电

房间2电表

120

08:00

120-101 = 19度电


2. 实现方案

2.1 创建场景

创建电表模拟产品,电表产品只有一个只读属性Fwh,表示累计电量。参考图1。

创建两个电表设备:room1 和 room2。参考图2。

使用物联网在线调试功能定时上报属性, 为调试方便,可以将间隔设置为10s上报一次属性值。参考图3。

在数据开发页面刷新平台设备数据表,用于创建电表的分析模型。

image.png

图1 创建电表模拟产品

image.png

图2 创建模拟设备

image.png

图3 定时上报电量


2.2 计算公式

使用数据服务是具有计算能力的平台,可以在SQL工作台创建SQL脚本任务来完成计算,将计算结果用于业务系统。

设计计算公式如下:

image.png

可以使用窗口函数取出设备最后上传的2次属性值,计算差值即可。

-- 对原始数据加工,需要将j-1条数据拼接到j条数据上
create view ods_append_row as 
select 
  `$device_name`, 
    `$event_time`, 
    `$iot_id`,
    `Fwh`,
    -- over 窗口
    row_number() over(PARTITION BY `$iot_id` ORDER BY `$event_time` DESC ) as row_no,
    nth_value(`Fwh`, 1) over (PARTITION BY `$iot_id` ORDER BY `$event_time` DESC ) as latest_value,
    nth_value(`Fwh`, 2) over (PARTITION BY `$iot_id` ORDER BY `$event_time` DESC ) as previous_value
from your_table_name;
-- 对最近两次结果进行取差值
select 
    `$device_name`,
    `$event_time`,
    latest_value - previous_value as delta_Fwh
from ods_append_row where row_no <= 2 and previous_value is not null;

调试结果参考下图4。

image.png

图4 调试结果

3. 结果使用

数据API

在云云对接场景用于应用集成,则可以配置API及SDK调用获取结果数据。

数据导出
如何结果数据需要线下备份或者使用xls进一步分析,可以使用“导出”功能。

image.png

可以按照时间范围进行数据导出,目前导出格式只支持csv

image.png

详细操作步骤可以参考《IoT设备数据的存储、解析和价值挖掘实践》,这里不赘述。

相关产品文档
如您想要了解更细节的产品功能使用指南,可以访问物联网平台的官网产品文档。
分析洞察官网文档:https://help.aliyun.com/document_detail/325547.html

产品操作实践文档:https://developer.aliyun.com/article/1166086

相关文章
|
2月前
|
SQL Java 关系型数据库
在 RDB 上跑 SQL------SPL 轻量级多源混算实践 1
SPL 支持通过 JDBC 连接 RDB,可动态生成 SQL 并传参,适用于 Java 与 SQL 结合的各类场景。本文以 MySQL 为例,演示如何配置数据库连接、编写 SPL 脚本查询 2024 年订单数据,并支持参数过滤和 SQL 混合计算。脚本可在 IDE 直接执行或集成至 Java 应用调用。
|
1月前
|
SQL 关系型数据库 Java
SQL 移植--SPL 轻量级多源混算实践 7
不同数据库的 SQL 语法存在差异,尤其是函数写法不同,导致 SQL 移植困难。SPL 提供 sqltranslate 函数,可将标准 SQL 转换为特定数据库语法,实现 SQL 语句在不同数据库间的无缝迁移,支持多种数据库函数映射与自定义扩展。
|
5月前
|
SQL 存储 关系型数据库
SQL优化策略与实践:组合索引与最左前缀原则详解
本文介绍了SQL优化的多种方式,包括优化查询语句(避免使用SELECT *、减少数据处理量)、使用索引(创建合适索引类型)、查询缓存、优化表结构、使用存储过程和触发器、批量处理以及分析和监控数据库性能。同时,文章详细讲解了组合索引的概念及其最左前缀原则,即MySQL从索引的最左列开始匹配条件,若跳过最左列,则索引失效。通过示例代码,展示了如何在实际场景中应用这些优化策略,以提高数据库查询效率和系统响应速度。
184 10
|
5月前
|
SQL 数据库 数据安全/隐私保护
数据库数据恢复——sql server数据库被加密的数据恢复案例
SQL server数据库数据故障: SQL server数据库被加密,无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密,文件名字被篡改。
|
5月前
|
SQL 安全 关系型数据库
SQL注入之万能密码:原理、实践与防御全解析
本文深入解析了“万能密码”攻击的运行机制及其危险性,通过实例展示了SQL注入的基本原理与变种形式。文章还提供了企业级防御方案,包括参数化查询、输入验证、权限控制及WAF规则配置等深度防御策略。同时,探讨了二阶注入和布尔盲注等新型攻击方式,并给出开发者自查清单。最后强调安全防护需持续改进,无绝对安全,建议使用成熟ORM框架并定期审计。技术内容仅供学习参考,严禁非法用途。
837 0
|
4月前
|
SQL 存储 大数据
Dataphin V5.0:支持创建异步调用API,实现慢 SQL 复杂计算的直连消费
本文介绍了数据服务产品中异步调用的应用场景与优势,包括大数据引擎查询、复杂SQL及大规模数据下载等场景,解决了同步调用可能导致的资源浪费和性能问题。通过创建异步API、测试发布以及权限申请等功能,实现高效稳定的服务提供。以电商订单查询为例,展示了如何利用异步调用提升系统性能与用户体验。
171 9
|
5月前
|
关系型数据库 MySQL 大数据
大数据新视界--大数据大厂之MySQL 数据库课程设计:MySQL 数据库 SQL 语句调优的进阶策略与实际案例(2-2)
本文延续前篇,深入探讨 MySQL 数据库 SQL 语句调优进阶策略。包括优化索引使用,介绍多种索引类型及避免索引失效等;调整数据库参数,如缓冲池、连接数和日志参数;还有分区表、垂直拆分等其他优化方法。通过实际案例分析展示调优效果。回顾与数据库课程设计相关文章,强调全面认识 MySQL 数据库重要性。为读者提供综合调优指导,确保数据库高效运行。
|
6月前
|
SQL 分布式计算 资源调度
Dataphin功能Tips系列(48)-如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
如何根据Hive SQL/Spark SQL的任务优先级指定YARN资源队列
205 4
|
7月前
|
SQL 关系型数据库 分布式数据库
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
203 14
|
7月前
|
SQL 数据库
数据库数据恢复—SQL Server报错“错误 823”的数据恢复案例
SQL Server数据库附加数据库过程中比较常见的报错是“错误 823”,附加数据库失败。 如果数据库有备份则只需还原备份即可。但是如果没有备份,备份时间太久,或者其他原因导致备份不可用,那么就需要通过专业手段对数据库进行数据恢复。

热门文章

最新文章