摘要:
随着工业互联网(IIoT)的快速发展,如何高效地存储、处理和分析海量工业数据成为关键问题。HBase,作为Apache Hadoop生态系统中的一个分布式、可伸缩的NoSQL数据库,非常适合处理IIoT场景下的数据存储需求。本文将围绕HBase数据库,结合工业互联网应用案例,通过代码实现,探讨如何利用HBase构建IIoT数据存储解决方案。
一、
工业互联网(IIoT)是指将工业设备、生产过程、供应链等与互联网相结合,实现智能化、网络化、自动化的一种新型工业形态。在IIoT应用中,数据是核心资产,如何高效地存储和管理这些数据成为关键。HBase作为一种高性能的NoSQL数据库,能够满足IIoT场景下的数据存储需求。
二、HBase简介
HBase是一个分布式、可伸缩的NoSQL数据库,它建立在Hadoop文件系统(HDFS)之上,提供了高吞吐量的随机读写能力。HBase适用于存储非结构化和半结构化数据,特别适合于IIoT场景下的海量数据存储。
三、HBase在IIoT应用中的优势
1. 分布式存储:HBase支持分布式存储,能够处理海量数据,满足IIoT应用中对数据存储的扩展性需求。
2. 高吞吐量:HBase提供了高吞吐量的随机读写能力,能够满足IIoT应用中对数据访问速度的要求。
3. 可伸缩性:HBase支持水平扩展,可以根据需求动态增加存储节点,提高系统性能。
4. 高可用性:HBase采用主从复制机制,确保数据的高可用性。
四、HBase在IIoT应用案例中的代码实现
以下是一个基于HBase的IIoT应用案例的代码实现,主要涉及数据存储、查询和更新操作。
1. 数据模型设计
在IIoT应用中,我们可以将设备数据、传感器数据等作为HBase中的表存储。以下是一个简单的数据模型设计:
- 表名:DeviceData
- 列族:DeviceInfo, SensorData
- 列:DeviceID, DeviceName, SensorID, SensorValue, Timestamp
2. HBase配置
需要配置HBase环境,包括HBase的安装、配置文件等。
java
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "zookeeper_host");
config.set("hbase.zookeeper.property.clientPort", "2181");
3. 创建表
使用HBase API创建表。
```java
HTableDescriptor tableDescriptor = new HTableDescriptor("DeviceData");
tableDescriptor.addFamily(new HColumnDescriptor("DeviceInfo"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorData"));
HTable table = new HTable(config, "DeviceData");
tableDescriptor.addFamily(new HColumnDescriptor("DeviceInfo"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorData"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorID"));
tableDescriptor.addFamily(new HColumnDescriptor("Timestamp"));
tableDescriptor.addFamily(new HColumnDescriptor("SensorValue"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceName"));
tableDescriptor.addFamily(new HColumnDescriptor("DeviceID"));
Comments NOTHING