1-大数据技术概览

  • 大数据的4V特征
    数据规模巨大(Volume)、数据类型多样(Variety)、生成和处理速度极快(Velocity)、价格巨大但密度较低(Value)
  • 应用
    1.基于大数据的数据仓库的数据流转
    来源更多(网路爬虫、传感器等等),数据量也更大。数据产生接入过来,存储在分布式的集群当中,然后再通过MapReduce(或者替换其他的计算框架)计算,存储以及计算都是一些分布式架构
    2.基于大数据的实时流处理
    实时流处理。传统场景也有,它是通过实时库来解决,价格昂贵且单一。大数据场景下,我们往往通过kafka来收集数据,首先kafka构建起来成本会低很多,并且对于各种不同来源数据接入都没有太多问题,包括数据的高可用性、读写性能支持都非常好,数据收集之后,通过像开源Storm、SparkStreaming以及我们的SlipStream进行实时分析,最终结果以图形化方式展示。
  • 大数据编年史
    HDFS、MapReduce构成了Hadoop,随着Hadoop的不断发展,延伸出像在易用性方面SQL框架支持的Hive、以及高可用性NameNode HA、扩展性Yarn等不同的方面,Hadoop都有很大的提升。
    但是随着时间推移Hadoop技术也暴露出一些弊端或者不足,如MapReduce在性能、以及像迭代计算等方面不足,此时Spark应运而生,他推出了内存计算的思路,逐渐代替MapReduce成为运行于Hadoop之上的核心项目,在2014成为Apache顶级项目。并且星环是在2013年也宣布推出了我们的大数据平台,区别于CDH,我们不仅仅是简单的将各种开源产品做了整合,而是有很多自主研发的部分。例如,底层引擎方面团队很有前瞻性的选择了Spark,而非MapReduce;开发接口上,我们提供一套非常丰富的SQL接口,而非Java、Python、Scala等方式,在项目迁移、开发成本、项目管控等上边优势显而易见;除基本数据分析外,目前对于像机器学习、人工智能等内容,都在不断的研发新的产品出来,并且可以以插件的方式方便的整合在平台上稳定运行。讲到这边,大概整理一下,到目前为止整个大数据技术的一个发展,从03年早期Google开源论文的推出,拉开了大数据的帷幕,Doug Cutting基于论文推出了Hadoop后,并在08年正式成为Apache顶级项目,一直到14年Spark代替MapReduce成为大数据中更加主流的分析引擎。期间,各个技术在高可用性、性能上等方面不断优化,各商业公司像Cloudera、我们星环团队,都在各开源技术之上推出了更友好的平台方案支持。
  • 大数据技术体系
    image.png

    HDFS 分布式文件系统 高容错、高可用、高扩展、简单一致性模型、流式数据访问、大规模数据集合、构建成本低且安全可靠
    MapReduce 面向批处理的分布式计算框架,核心思想为分布式计算+移动计算。特点是高容错、高扩展,适用于海量数据的离线批处理
    YARN 另类资源管理组件,专注集群的资源管理和作业调度,解决Hadoop 1.0版本MapReduce的先天缺陷,高可用、高扩展,适用各种计算框架如:MapReduce+Spark
    Spark逐渐代替MapReduce成为Hadoop之上高效的计算引擎
    image.png

    Hive Hive是构建在Hadoop/HBase之上的数据仓库,用于分析结构化海量数据。这边需要大家注意Hive的一个定义他是一个数据仓库而非数据库,也就是说虽然他提供了SQL,但是我们使用Hive更多的是借助于这种SQL方式对于平台之上的数据做更加简单有效的分析。数据仓库VS数据库,最大区别可以理解为数据库一般存储数据主要用来提供业务系统使用、大部分数据都为在线数据,而数据仓库的设计主要是为了分析、大部分数据皆为历史数据。Hive做分析,可以对于HDFS、HBase上的数据进行分析,但Hive本质并不执行分析、他本质仅仅只是将SQL语句转换为MapReduce程序,真正执行分析还是在Hadoop基础之上来进行。
    Hive的特点:提供SQL查询语言;针对海量数据的高性能查询和分析系统;用户接口丰富,cli、jdbc都支持;提供灵活的扩展性,支持复杂类型数据、自定义函数支持、脚本等。因此Hive适用于以下场景:
    1.日志分析:日志分析可以优化操作系统,获知用户行为,也可以获知数据的统计信息;
    2.数据挖掘:通过结构化数据的挖掘,能够获得原先使用者没有意识的信息;
    3.文档索引:可以对一系列文档进行分析,并形成文档的索引结构,不一定是完整的排序表,也可能是关联信息的索引;
    4.商业智能信息处理:可以对商业信息进行查询分析,从中可以获得一些只能决策的信息;
    5.及时查询以及数据验证:数据分析人员可能临时需要验证数据的特性,需要查询引擎迅速进行数据分析。
    HBase分布式NoSql数据库,列式存储,主要用于半结构化、非结构化数据,采用HDFS为文件存储系统
    ElasticSearch 是基于Lucene实现的开源分布式全文检索引擎。作为一个分布式全文检索引擎,ES具有较强的扩展性,并且能处理PB级别以上的大数据集,是大数据领域首选的分布式搜索引擎。
    全文检索VS精确查找,举个例子,平时我们在SQL开发过程中where colum like %% 或者=这些情况是精确查找。全文检索,首先会根据提供的内容进行分词、然后再根据分词结果去查找。例如:数据集如下:
    image.png

    精确查找只能找到的第三条,但是全文搜索三条都可以查找的到。全文检索相关,Lucene、Solr等,其中Solr对比起ElasticSearch来说,建立索引时搜索效率会有影响,对于实时搜索引擎来说效率并不好,Solr对于传统的项目来说支持还可以,但并不适用与海量数据实时检索。

你可能感兴趣的:(1-大数据技术概览)