美文网首页
简单理解hadoop/spark等专业名词

简单理解hadoop/spark等专业名词

作者: 帅春风 | 来源:发表于2021-04-28 16:37 被阅读0次

    一、Hadoop+spark=double win

    spark:计算引擎(高效率,快速)

    [设计初衷:专门用来对那些分布式存储的大数据进行处理的工具,没有提供文件管理系统,自身不对数据存储]

    hadoop:大数据存储

    [设计初衷:将单个服务器扩展成上千个机器组成的一个集群,为大数据提供计算服务,而每台机器提供本地计算和存储服务]

    二者的组合模式中,各个部分承担的作用如下:

    1. hadoop中的HDFS/Hive/Hbase:负责存储

    2. hadoop中的YARN:负责资源调度

    3. Spark:负责大数据计算

    二、关于数据仓库与hadoop的关系:

    1、hadoop不会也不可能替代传统的数据仓库体系架构,是数据仓库体系在大数据环境下的一个重要补充和衍生!

    2、关于分工:一般使用hadoop处理非结构化和半结构化数据,如nginx的access日志文件等;业界普遍的做法还是:hadoop处理完的数据再导入到MYSQL或Oracle数据库中,以便做进一步的数据展示与分析!

    以Oracle为代表的传统数据仓库,在结构化、业务逻辑比较负责的应用场景均具有不可替代的作用;

    三、hive和hbase的区别

    先放结论:Hbase和Hive在大数据架构中处在不同位置,Hbase主要解决实时数据查询问题,Hive主要解决数据处理和计算问题,一般是配合使用。

    1. 区别:

    Hbase: Hadoop database 的简称,也就是基于Hadoop数据库,是一种NoSQL数据库,主要适用于海量明细数据(十亿、百亿)的随机实时查询,如日志明细、交易清单、轨迹行为等。

    Hive:Hive是Hadoop数据仓库,严格来说,不是数据库,主要是让开发人员能够通过SQL来计算和处理HDFS上的结构化数据,适用于离线的批量数据计算。

    通过元数据来描述Hdfs上的结构化文本数据,通俗点来说,就是定义一张表来描述HDFS上的结构化文本,包括各列数据名称,数据类型是什么等,方便我们处理数据,当前很多SQL ON Hadoop的计算引擎均用的是hive的元数据,如Spark SQL、Impala等;

    基于第一点,通过SQL来处理和计算HDFS的数据,Hive会将SQL翻译为Mapreduce来处理数据;

    2. 关系

    在大数据架构中,Hive和HBase是协作关系,数据流一般如下图:

    1)通过ETL工具将数据源抽取到HDFS存储;

    2)通过Hive清洗、处理和计算原始数据;

    3)HIve清洗处理后的结果,如果是面向海量数据随机查询场景的可存入Hbase

    4)数据应用从HBase查询数据;

    四、HDFS

    HDFS是GFS的一种实现,他的完整名字是分布式文件系统,类似于FAT32,NTFS,是一种文件格式,是底层的。

    Hive与Hbase的数据一般都存储在HDFS上。Hadoop HDFS为他们提供了高可靠性的底层存储支持。

    五、一篇很好的科普文章

    这篇文章,用很形象的比喻讲Hadoop、hive和Spark之间的关系,推荐阅读

    https://www.cnblogs.com/jins-note/p/9513426.html

    相关文章

      网友评论

          本文标题:简单理解hadoop/spark等专业名词

          本文链接:https://www.haomeiwen.com/subject/fiwvrltx.html