使用SAP HANA和Hadoop / HDFS传感器数据

时间:2016-12-25 01:17:05

标签: hadoop hbase hdfs sap

我想将传感器数据保存在合适的数据库中。 我每分钟有100.000次写入,每次写入大小为100字节。 我也想对数据进行分析。

我想到了hadoop,因为它有许多不同的框架来分析数据。(例如Apache spark)

现在我的问题: Hbase一个nosql数据库将是合适的解决方案,因为它有一个列家族数据模型来访问大型列。但它运行在HDFS之上。 HDFS具有64 MB大小的数据块。如果我有100字节数据,这对我意味着什么? 此外,我想在hadoop上运行机器学习。是否可以将HBASE和SAP Hana一起使用?(SAP Hana使用hadoop运行)

1 个答案:

答案 0 :(得分:1)

让我试着逐步解决你的问题:

  

我想将传感器数据保存在合适的数据库中。

我建议在这里运行一些类似OpenTSDB的HBase,因为你也想要运行Hadoop集群。

  

我每分钟有100.000次写入,每次写入大小为100字节。

正如您正确指出的那样,小消息/文件是HDFS的一个问题。虽然HBase不是这样(块大小被HBase抽象掉,不需要为底层HDFS进行调整)。

像Hbase上的OpenTSDB或纯Hbase这样的解决方案可以很好地适应这种负载。

这就是说,因为你显然想要通过Hbase和SAP Hana访问你的数据(这可能需要将来自许多100字节文件的测量结果汇总到更大的文件,因为现在HDFS块大小开始起作用)我建议通过Kafka首先,然后通过Kafka上的不同消费者从Kafka读取原始HDFS(在某种程度上与Hana兼容)和Hbase。

  

是否可以将HBASE和SAP Hana一起使用?

参见上面的解释,在我看来,Kafka(或类似的分布式队列)就是您希望从小型消息流中摄取到多个商店的。

  

HDFS具有64 MB大小的数据块。如果我有100个字节的数据,这对我意味着什么?

  • 对Hbase无关。
  • 与Kafka无关(至少与您的吞吐量和消息大小无关:))
  • 原始HDFS存储将要求您手动将这些100字节的消息聚合成更大的文件(可能Avro对您有帮助)
  

此外,我想在Hadoop上运行机器学习。

不是问题,HDFS是一个分布式系统,因此您可以扩展到更高的性能,并在任何时候添加基于Spark的机器学习解决方案或您希望在Hadoop之上运行的任何其他东西。最糟糕的情况是,您必须在群集中添加另一台计算机,但是一旦将数据存储在HDFS中且您的群集功能足够强大,就可以同时对数据运行的数量进行硬性限制。