现在,含传感器非常个人和商用设备收集来自物理世界的信息。例如。大多数手机都有 GPS。健身器材可以跟踪的步骤,你去数,恒温控制器可以监视温度架构。
在本教程,您将学习如何 HDInsight 加热处理、通风和空调 (HVAC) 由系统产生的历史数据,到不能有效地识别保持系统的设定温度。您将学习如何:
已使用群集配置你完毕脚本和查询所需的全部内容。要将已分析的数据导出到 Microsoft Excel。你必须满足下面要求:
下面 URL 的文件包括 HVAC 系统设定的温度以及实际记录的温度。这些文件也包括建筑元数据,如位置和 HVAC 系统信息。我们已将此数据载入到此群集的 Windows Azure 存储 Blob。
可使用此页顶部的文件浏览器选项卡訪问存储在 Windows Azure 存储 Blob 中的数据。
此演示样例的数据可在 [default storage account]/[defaultcontainer]/HdiSamples/SensorSampleData 路径下找到。
来自世界 20栋大型建筑的传感器数据
wasb://yzphadoop01@yzpcloud.blob.core.chinacloudapi.cn/HdiSamples/SensorSampleData/hvac/
20 栋建筑的元数据
wasb://yzphadoop01@yzpcloud.blob.core.chinacloudapi.cn/HdiSamples/SensorSampleData/building/
下面配置单元语句将创建外部表。同意配置单元查询存储在 Azure Blob 存储的数据。外部表以初始文件格式保留数据,同一时候同意配置单元针对文件内的数据运行查询。在这样的情况下。数据作为逗号分隔值 (CSV) 存储在文件里。
下面配置单元语句通过描写叙述文件内字段、文件间定界符(逗号)和 Azure Blob 存储中文件的位置创建了两个名为 hvac 和 building 的新表。
由此,你能够创建针对自身数据的配置单元查询。
Create hvac table:
DROP TABLE IFEXISTS hvac;
--create the hvactable on comma-separated sensor data
CREATE EXTERNALTABLE hvac(date STRING, time STRING, targettemp BIGINT,
actualtempBIGINT, system BIGINT, systemage BIGINT, buildingid BIGINT)
ROW FORMATDELIMITED FIELDS TERMINATED BY ','
STORED ASTEXTFILE LOCATION'wasb://yzphadoop01@yzpcloud.blob.core.chinacloudapi.cn/HdiSamples/SensorSampleData/hvac/';
Create building table:
DROP TABLE IF EXISTS building;
--create the building table on comma-separated building data
CREATE EXTERNAL TABLE building(buildingid BIGINT,buildingmgr STRING,
buildingageBIGINT, hvacproduct STRING, country STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE LOCATION'wasb://yzphadoop01@yzpcloud.blob.core.chinacloudapi.cn/HdiSamples/SensorSampleData/building/';
下面配置单元查询创建了来自 HVAC 数据的一些温度,从而查找温度变化(參见下面查询)。尤其是查找恒温控制器设定的目标温度与记录温度之间的区别。假设区别大于 5,则 temp_diff 列将设为“热”或“冷”,且 extremetemp 设为 1;否则,temp_diff 将设为“正常”且 extremetemp 设为 0。
查询会将结果写入两个新表:hvac_temperatures 和 hvac_building(參见下面“创建表”语句)。
hvac_building 表将包括管理者、楼龄和建筑的 HVAC 系统等建筑信息,也将用于通过与 hvac_temperatures 表联接来查找建筑的温度数据。
Create hvac_temperatures table:
DROP TABLE IFEXISTS hvac_temperatures;
--create thehvac_temperatures table by selecting from the hvac table
CREATE TABLEhvac_temperatures AS
SELECT *,targettemp - actualtemp AS temp_diff,
IF((targettemp - actualtemp)> 5, 'COLD',
IF((targettemp - actualtemp)< -5, 'HOT', 'NORMAL')) AS temprange,
IF((targettemp - actualtemp)> 5, '1', IF((targettemp - actualtemp) < -5, '1', 0)) AS extremetemp
FROM hvac;
Create hvac_building table:
DROP TABLE IFEXISTS hvac_building;
--create thehvac_building table by joining the building table and the hvac_temperaturestable
CREATE TABLEhvac_building AS
SELECT h.*,b.country, b.hvacproduct, b.buildingage, b.buildingmgr
FROM building bJOIN hvac_temperatures h ON b.buildingid = h.buildingid;
选择提交以创建“配置单元”表,并运行分析存储在 Windows AzureBlob 存储的传感器数据的查询。提交作业后,可通过选择下方查看具体信息来查看具体信息。
页底的作业状态变为已完毕后,继续运行将数据载入到 Excel。
DROP TABLE IF EXISTS hvac;
--create the hvac table on comma-separated sensor data
CREATE EXTERNAL TABLE hvac(date STRING, time STRING,targettemp BIGINT,
actualtempBIGINT, system BIGINT, systemage BIGINT, buildingid BIGINT)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE LOCATION'wasb://yzphadoop01@yzpcloud.blob.core.chinacloudapi.cn/HdiSamples/SensorSampleData/hvac/';
DROP TABLE IF EXISTS building;
--create the building table on comma-separatedbuilding data
CREATE EXTERNAL TABLE building(buildingid BIGINT,buildingmgr STRING,
buildingageBIGINT, hvacproduct STRING, country STRING)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
STORED AS TEXTFILE LOCATION'wasb://yzphadoop01@yzpcloud.blob.core.chinacloudapi.cn/HdiSamples/SensorSampleData/building/';
DROP TABLE IF EXISTS hvac_temperatures;
--create the hvac_temperatures table by selecting fromthe hvac table
CREATE TABLE hvac_temperatures AS
SELECT *, targettemp - actualtemp AS temp_diff,
IF((targettemp- actualtemp) > 5, 'COLD',
IF((targettemp- actualtemp) < -5, 'HOT', 'NORMAL')) AS temprange,
IF((targettemp- actualtemp) > 5, '1', IF((targettemp - actualtemp) < -5, '1', 0)) ASextremetemp
FROM hvac;
DROP TABLE IF EXISTS hvac_building;
--create the hvac_building table by joining thebuilding table and the hvac_temperatures table
CREATE TABLE hvac_building AS
SELECT h.*, b.country, b.hvacproduct, b.buildingage,b.buildingmgr
FROM building b JOIN hvac_temperatures h ONb.buildingid = h.buildingid;
作业会话
查询名称 |
日期 |
ID |
操作 |
状态 |
表中无可用数据
正在将数据载入到 Excel成功完毕此作业后。你可使用 Microsoft 配置单元 ODBC 驱动器将数据从配置单元导入到 Excel 2013。 安装驱动程序后,可使用下面步骤连接到表格。
1. 打开 Excel 并创建空白的工作表。
2. 从数据选项卡中,选择来自其它源,然后选择来自 Microsoft 查询。 3. 提示选择数据源时,选择演示样例 Microsoft 配置单元 DSN。
4. 在 Microsoft 配置单元 ODBC 驱动器连接对话框中,输入下面值,然后单击“确定”。
全部其它字段均为默认值。 5. 在查询向导中,选择 hvac_building 表,然后选择 > button。
6. 单击下一步继续查看向导,直到到达带有完毕button的对话框。单击完毕。
7. 出现导入数据对话框时,单击确定以接受默认设置。 完毕查询后,数据将显示在 Excel 中。
|
由于数据已导入 Excel,你将使用Power View 以可视方式导出数据。
1. 在 Excel 工作表中。选择插入选项卡。然后选择 Power View 以打开新的 Power View 报表。
2. 在 Power View 字段区域。选择国家/地区和 extremetemp 旁的复选框。清除全部其它复选框。
3. 在字段 框,单击 extremetemp 旁的向下箭头,然后选择计数(非空白)。
4. 从设计选项卡中,选择地图以在世界地图上按国家/地区显示温度数据。
地图上显示的每一个圆圈表示记录温度高于或低于目标温度 5 度之上的次数。
圆圈越大。在此位置记录的极端温度的实例越多。
为了进一步筛选数据,以便你查看记录温度高于或低于目标温度的地点,请运行下面步骤。
1. 在 Power View 字段区域。清除 extremetemp 复选框,然后选择 temprange 复选框。
选择 temprange 旁的向下箭头,然后选择作为大小加入。
2. 将 temprange 从 Power View 字段区域拖到筛选器框,然后选择热或冷的复选框。查看高于或低于目标温度的地点。
尽管通过可视化地图上的温度数据,你能够更easy查看哪个地点在维持目标温度方面出现故障,但你无法由此深入了解根本原因。
请运行下面步骤,使用生成信息确定 HVAC 是否是问题的源头。
1. 打开新的 Excel 工作表。依次选择数据选项卡、来自其它源、来自 Microsoft Query。依照先前同样步骤导入数据,但此次选择 hvac_building 表,且仅选择 hvacproduct 和 extremetemp 列。
2. 导入数据后,选择插入选项卡,然后选择 Power View。
3. 在 Power View 字段的 字段 章节中,单击 extremetemp 字段旁的向下箭头,然后选择计数(非空白)。
4. 从设计选项卡中,选择柱形图。然后选择堆积柱形图。
5. 显示图后,选择左上角按hvacproduct 排序旁的向下箭头。然后选择 extremetemp 的计数以按 extremetemp 字段对列进行排序。
从此图中,你能够看到 FN39TG 的极端温度实例高于其它单位。
在本教程中,你已成功运行用于分析生成 HVAC 传感器数据的 HDInsight 配置单元作业。要了解很多其它信息。请訪问我们的其余演示样例作业。
假设你具有本教程或其它演示样例方面的反馈。请使用上面的帮助 + 反馈链接。
使用下面链接继续了解怎样将配置单元和 Excel 与 HDInsight 一同使用。
转载请注明出处:http://blog.csdn.net/yangzhenping, 谢谢!