• 一句话描述Hadoop,HDFS,Map Reduce,Spark,Hive,Yarn的关系,入门


    转载:https://zhuanlan.zhihu.com/p/52704422

    Hadoop:Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的。不是一个工具,也不是一种技术,是一种技术的合称

    HDFS:分布式文件系统。传统的文件系统是单机的,不能横跨不同的机器。比如你说我要获取/hdfs/tmp/file1的数据,你引用的是一个文件路径,但是实际的数据存放在很多不同的机器上。你作为用户,不需要知道这些,就好比在单机上你不关心文件分散在什么磁道什么扇区一样。HDFS为你管理这些数据。

    Map Reduce:分布式计算。一台机器读取成T上P的数据,也许需要好几天甚至好几周。对于很多公司来说,单机处理是不可忍受的。如果要用很多台机器处理,我就面临了如何分配工作,如果一台机器挂了如何重新启动相应的任务,机器之间如何互相通信交换数据以完成复杂的计算等等。这就是MapReduce / Tez / Spark的功能。

    Spark:之前的Map Reduce类似于汇编语言,那么现在的spark就类似于python了,功能和Map Reduce类似,但是对于开发人员更加的友好,更方便使用。

    Hive:你希望有个更高层更抽象的语言层来描述算法和数据处理流程。于是就有了Hive。Hive用SQL描述MapReduce。它把脚本和SQL语言翻译成MapReduce程序,丢给计算引擎去计算,而你就从繁琐的MapReduce程序中解脱出来,用更简单更直观的语言去写程序了。

    SparkSQL和Hive on Spark:自从数据分析人员开始用Hive分析数据之后,它们发现,Hive在MapReduce上跑,很慢! 它们的设计理念是,MapReduce慢,但是如果我用新一代通用计算引擎Tez或者Spark来跑SQL,那我就能跑的更快。

    Yarn:有了这么多乱七八糟的工具,都在同一个集群上运转,大家需要互相尊重有序工作。所以另外一个重要组件是,调度系统。

    上面的介绍,基本就是一个数据仓库的构架了。底层HDFS,上面跑MapReduce/Tez/Spark,再上面跑Hive。

  • 相关阅读:
    有效提高生产力的8个贴士
    如何提高团队编程水平
    PHPCMS V9使用中的一些心得体会
    2012全球SEO行业调查报告
    盘点SEO和SEM的优劣势
    DEDECMS 添加栏目图片
    2013年中国500强排行榜(公司名单及网址)
    十大淘宝搜索作弊行为
    利用curl抓取远程页面内容
    新浪,腾讯,淘宝,人人登陆
  • 原文地址:https://www.cnblogs.com/to-here/p/12462030.html
Copyright © 2020-2023  润新知