HDInsight-Hadoop现实(两)传感器数据分析

本教程指导如何利用HDInsight处理HVAC系统产生的历史数据,以识别温度控制问题,分析建筑温度,评估HVAC系统可靠性,并在Excel中可视化数据。

HDInsight-Hadoop现实(两)传感器数据分析

简要

现在,含传感器非常个人和商用设备收集来自物理世界的信息。例如。大多数手机都有 GPS。健身器材可以跟踪的步骤,你去数,恒温控制器可以监视温度架构。

在本教程,您将学习如何 HDInsight 加热处理、通风和空调 (HVAC) 由系统产生的历史数据,到不能有效地识别保持系统的设定温度。您将学习如何:

  • 家/地区的建筑的温度数据
  • 分析数据以确定哪些建筑在保持适宜温度方面存在问题(实际记录的温度对照恒温控制器设定的温度)
  • 判断建筑中使用的 HVAC 系统的可靠性
  • 在 Microsoft Excel 中可视化数据

先决条件

已使用群集配置你完毕脚本和查询所需的全部内容。要将已分析的数据导出到 Microsoft Excel。你必须满足下面要求:

  • 必须安装了 Microsoft Excel 2013
  • 你必须具有 Microsoft 配置单元 ODBC 驱动程序才干将数据从配置单元导入 Excel 中。基于 Microsoft     Excel 的版本号选择 32 位或 64 位版本号。

已载入到 Windows Azure 存储 Blob 的传感器数据

下面 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/

正在创建配置单元表,以查询 WindowsAzure Blob 存储中的传感器数据

下面配置单元语句将创建外部表。同意配置单元查询存储在 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 驱动器连接对话框中,输入下面值,然后单击“确定”。

  • 主机 - HDInsight 群集的主机名。比如,mycluster.azurehdinsight.net
  • username - HDInsight 群集的管理员名称
  • password - 管理员password

全部其它字段均为默认值。

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.youkuaiyun.com/yangzhenping, 谢谢!

转载于:https://www.cnblogs.com/mengfanrong/p/4558575.html

<think>嗯,用户问Hadoop除了HDFS还能不能有其他存储方式。首先我需要确定用户对Hadoop的了解程度。可能他们知道HDFS是Hadoop默认的存储系统,但想了解是否有其他替代方案。需要解释Hadoop的架构,特别是YARN和MapReduce与存储的关系,说明存储并不是只能依赖HDFS。 接下来,我应该列举不同的存储选项。比如Amazon S3、Azure Blob Storage这些云存储,还有其他的分布式文件系统如Ceph、GPFS。此外,可能还要提到NoSQL数据库如HBase,或者对象存储、本地文件系统等。需要说明每种存储的特点和适用场景。 用户可能关心的是为什么需要其他存储方式,所以需要对比HDFS和其他存储的优势和劣势。例如,云存储的成本效益,或者对象存储的扩展性。还要考虑使用场景,比如实时分析可能需要HBase,而云环境可能更适合S3。 同时,用户可能想知道如何配置Hadoop使用这些替代存储。需要简要提到配置方法,比如core-site.xml中的参数设置。另外,要提到Hadoop版本兼容性,比如Hadoop 3对云存储的支持更好。 最后,要总结不同存储方式的适用情况,帮助用户根据需求选择合适的方案。确保回答结构清晰,分点说明,让用户能逐步理解。可能还需要提醒用户注意数据一致性、延迟等问题,以及不同存储与Hadoop生态组件的整合情况。</think>--- ### **Hadoop的存储灵活性** Hadoop的核心设计并不强制绑定HDFS,其存储层是可扩展的。**HDFS**虽然是默认存储系统,但通过**Hadoop兼容文件系统抽象(HCFS)**,Hadoop可以集成多种存储方案。以下分类介绍替代方案: --- ### **1. 云存储(对象存储)** #### **特点**:按需付费、弹性扩展、无需维护物理集群。 | 存储服务 | 适用场景 | Hadoop集成方式 | |------------------|-----------------------------------|-------------------------------------| | **Amazon S3** | AWS生态数据湖,跨区域数据分析 | 使用`s3a://`协议(Hadoop 3+优化性能)| | **Azure Blob** | Azure云环境,与HDInsight无缝集成 | 配置`wasb://`或`abfs://`协议 | | **Google GCS** | GCP平台,机器学习数据存储 | 通过`gs://`协议直接访问 | **配置示例**(`core-site.xml`中设置S3访问): ```xml <property> <name>fs.s3a.access.key</name> <value>AWS_ACCESS_KEY</value> </property> <property> <name>fs.s3a.secret.key</name> <value>AWS_SECRET_KEY</value> </property> ``` --- ### **2. 分布式文件系统(非HDFS)** #### **特点**:高可用、企业级特性,适合混合云或专用硬件环境。 | 文件系统 | 优势 | 适用场景 | |----------------|-------------------------------------------|----------------------------------| | **Ceph** | 统一存储(块/文件/对象),开源生态完善 | 大规模多协议数据湖 | | **GPFS** | 高性能并行文件系统(IBM产品) | 金融、科研领域的高吞吐计算 | | **Lustre** | 超算场景优化,低延迟高带宽 | 气象模拟、基因分析等科学计算 | **示例**:Ceph与Hadoop集成: 通过`cephfs://`或`s3a://`(Ceph对象网关)协议访问。 --- ### **3. 本地文件系统** #### **特点**:简单部署,适合小规模测试或边缘计算。 - **本地磁盘**:直接使用`file://`协议(如`file:///data/input`)。 - **NFS**:共享存储,但性能低于HDFS,适合低并发场景。 --- ### **4. NoSQL数据库** #### **特点**:支持随机读写,适合实时查询。 | 数据库 | Hadoop集成方式 | 典型用途 | |---------------|----------------------------------------|-----------------------------------| | **HBase** | 原生支持,通过`TableInputFormat`读写 | 实时读写(如用户画像更新) | | **Cassandra** | 使用`CassandraStorageHandler`(Hive) | 时间序列数据(如物联网传感器) | --- ### **5. 其他存储系统** | 存储类型 | 说明 | |-----------------|----------------------------------------------------------------------| | **Alluxio** | 内存加速层,透明缓存HDFS、S3等存储的数据,提升计算框架访问速度。 | | **MinIO** | 自托管对象存储,兼容S3协议,适合私有云环境。 | | **OpenStack Swift** | 开源对象存储,通过`swift://`协议与Hadoop集成。 | --- ### **为什么需要替代存储?** 1. **成本优化**:云存储按需付费,避免维护HDFS集群的硬件成本。 2. **数据共享**:对象存储(如S3)支持跨平台访问(Spark、Presto等)。 3. **性能需求**:Alluxio加速热数据访问,HBase支持低延迟查询。 4. **环境适配**:混合云场景中统一数据入口(如Ceph)。 --- ### **选择建议** | 场景 | 推荐存储方案 | |-----------------------|---------------------------------------| | 大规模离线分析 | HDFS、S3(成本敏感) | | 实时数据处理 | HBase、Cassandra | | 多云/混合云数据湖 | S3、GCS、Ceph(统一命名空间) | | 边缘计算 | 本地磁盘+NFS | --- ### **技术注意事项** 1. **一致性模型**:HDFS强一致 vs 对象存储最终一致。 2. **性能调优**:云存储需调整块大小(如`fs.s3a.block.size`)、并发连接数。 3. **版本兼容性**:Hadoop 3+对云存储支持更完善(如S3A性能优化)。 --- ### **示例:Hadoop直接读写S3** ```bash # 从S3读取数据运行MapReduce作业 hadoop jar job.jar MainClass \ -D fs.defaultFS=s3a://bucket-name \ s3a://bucket-name/input s3a://bucket-name/output ``` --- 如需具体场景的配置细节或性能对比,可进一步探讨!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值