zoukankan      html  css  js  c++  java
  • 技术汇总

     MapReduce

    MapReduce程序从磁盘读取输入数据,把数据分解成键/值对,经过混洗、排序、归并等数据处理后产生输出,并将最终结果保存在磁盘。Map阶段和Reduce阶段的结果均要写磁盘,这大大降低了系统性能。也是由于这个原因,MapReduce大都被用于执行批处理任务。Map阶段和Reduce阶段的结果均要写磁盘,系统性能较低。MapReduce大都被用于执行批处理任务。

    Hive

    最早基于hadoop的数据仓库,在MapReduce之上封装的SQL语义层。比较稳定,可快速处理海量数据,适合后台批处理应用场景。启动较慢,小数据量处理效率不高,不适合交互式即席查询和联机分析。

    Spark SQL

    SparkSQL是Hadoop中另一个著名的SQL引擎。以Spark作为底层计算框架,实际上是一个Scala程序语言的子集。

    开发Spark的初衷是用于机器学习系统的培训算法,而不是SQL查询。Spark宣称其应用的延迟可以比MapReduce降低几个数量级,但是我们的实际使用中,在20TB的数据集合上做SQL查询也要10分钟左右出结果,这个速度纵然是比Hive快了3倍,但显然不能支撑交互查询和OLAP应用。Spark还有一个问题是需要占用大量内存,当内存不足时,容易出现OOM错误。

    Impala

    Impala是一个运行在Hadoop之上的大规模并行处理(MPP)查询引擎,提供对Hadoop集群数据的高性能、低延迟的SQL查询,使用HDFS作为底层存储。

    Impala的最大亮点在于它的执行速度。官方宣称大多数情况下它能在几秒或几分钟内返回查询结果,而相同的Hive查询通常需要几十分钟甚至几小时完成,因此Impala适合对Hadoop文件系统上的数据进行分析式查询。Impala缺省使用Parquet文件格式,这种列式存储对于典型数据仓库场景下的大查询是较为高效的。

    Impala的问题主要体现在功能上的欠缺。如不支持update、delete操作,不支持Date数据类型,不支持XML和JSON相关函数。大数据量支持效率也不高,容易出现资源不足。

    HAWQ(hadoop with query)

    HAWQ是Hadoop原生SQL查询引擎,结合了MPP数据库的关键技术优势和Hadoop的可扩展性和便捷性。HAWQ从HDFS本地读取数据并将数据写入HDFS。

    HAWQ提供业界领先的性能和线性可伸缩性。使用HAWQ在Hadoop上开发分析型数据仓库应用是完全可行的。HAWQ比Hive快4-50倍。

    Apache Kylin

    Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,最初由eBay Inc. 开发并贡献至开源社区。它能在亚秒内查询巨大的Hive表。

    参考文档:

    HAWQ--简介

    Apache Kylin™ 概览

    HAWQ取代传统数仓实践(一)——为什么选择HAWQ

  • 相关阅读:
    关于javascript with性能的一段阐述
    关于多线程传参问题
    C++ 入门简要笔记
    html中多个title
    关于大学生对抖音的使用情况调查分析报告
    eclipse如何导入lib文件夹下的包
    每周总结
    中文分词——jieba之分词后存入数据库
    软件需求与分析课堂测试十 — 软件设计师案例分析(历年软考题选取)
    2021年秋季学期课程总结及奖励加分
  • 原文地址:https://www.cnblogs.com/badboy200800/p/9961609.html
Copyright © 2011-2022 走看看