现在的位置: 首页 > 综合 > 正文

大数据的实时查询

2019年10月14日 ⁄ 综合 ⁄ 共 744字 ⁄ 字号 评论关闭

最近出现了一个很火的词,叫做流式计算,可以做很高的实时处理,比如Twitter的Storm,它的特点是不处理静态数据,而是处理会连续产生的流式数据,而Hadoop专注于批处理,因为Hadoop为批处理作了高度优化,MapReduce系统典型地通过调度批量任务来操作静态数据;而流式计算的典型范式之一是不确定数据速率的事件流流入系统,系统处理能力必须与事件流量匹配,或者通过近似算法等方法优雅降级,通常称为负载分流(load-shedding)。

所以两者应用场景还是不同的。

最近比较关心一个问题,就是大数据的实时查询。一般如何实现呢,简单了解了一下,大概有几种方式吧:

(1)HBase+Solr:比如某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询。HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力。针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条件的rowkey值,拿到这些rowkey之后在HBASE中通过指定rowkey进行查询。

(2)Impala:Hadoop的新成员,是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。已有的Hive系统虽然也提供了SQL语义,但由于Hive底层执行使用的是MapReduce引擎,仍然是一个批处理过程,难以满足查询的交互性。相比之下,Impala的最大特点也是最大卖点就是它的快速。

还需要进一步的调研。

抱歉!评论已关闭.