标签

大数据相关

By 小鸟游·飒

业界主流大数据技术框架

  1. 磁盘存储

    HDFS、HBASE、S3、Cassandra、MongoDB、Redis

  2. 内存存储

    Alluxio 、Redis

  3. 数据分析

    Spark(SQL、Streaming、MLlib、GraphX)(秒级)、Storm(毫秒级)、MapReduce(离线分析)、Mahout、Hive(基于MapReduce,编译快仅需sql语句知识)、Pig、Impala(交互分析)、MPP(交互分析)

  4. 分步式协调服务

    ZooKeeper

  5. 集群系统监控

    CDH-CMS, Metrics, Grafana、Ambari

  6. 消息总线

    kafka、ActiveMQ、Apollo、 Redis

  7. 索引系统

    Solr、Lucene、ElasticSearch

大数据组件应用分类

  1. 数据采集

    flume、kafka connector、sqoop、socket、sftp、mina

  2. 实时处理

    Spark Streaming、Kafka Streams、Storm、Samza、Flink

  3. 数据存储


    HDFS、HBASE、S3、Cassandra、MongoDB、Redis、Solr、ElasticSearch

  4. 离线处理

    Spark SQL、Hive、Map Reduce、Pig、Impala

  5. 交互式查询

    Drill、PresTO、Kylin

  6. 数据展现

    Echarts、Tableau、d3js

大数据组件简介

1、Hadoop是Apache开源组织的一个分布式计算框架,提供了一个分布式文件系统 (HDFS)、MapReduce分布式计算及统一资源管理框架(Yarn)的软件架构。

  • 为大规模数据的存储提供解决方案(HDFS);

  • 解决大规模分步式计算( MapReduce );

  • 作为其周边软件Hbase、Hive、Pig、Mahout等的基础平台。

2、HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

  • 解决海量数据的存储;

  • 解决随机、实时读写大数据;

  • 提供简化访问HDFS的编程接口。

3、kafka是Apache旗下的一个高性能,高吞吐量的分步式消息总线系统。

  • 分布式系统相互通信;

  • 数据复制、同步;

  • 日志同步;

  • Delay Queue;

  • 广播通知。

4、Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

  • 解决海量数据的存储;

  • 解决大规模数据的分析:SQL。

5、MongoDB 是一个高性能,开源,无模式的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键/值存储方式。MongoDB不支持SQL,但有自己功能强大的查询语法。MongoDB使用BSON作为数据存储和传输的格式。BSON是一种类似JSON的二进制序列化文档,支持嵌套对象和数组。

  • 解决海量数据在线存储;

  • 许多情况下可以代替传统关系数据库;

  • 代替键/值存储方式。

6、Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助。

7、Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处,这些有用的不同之处使 Spark 在某些工作负载方面表现得更加优越,换句话说,Spark 启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。

Spark 是在 Scala 语言中实现的,它将 Scala 用作其应用程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象一样轻松地操作分布式数据集。

8、Storm是一个分布式的、容错的实时计算系统。使用Storm进行实时大数据分析。

9、Flink 是可扩展的批处理和流式数据处理的数据处理平台,设计思想主要来源于Hadoop、MPP数据库、流式计算系统等,支持增量迭代计算。

10、Alluxio A memory speed virtual distributed storage. Alluxio是一个高容错的内存分布式文件系统,允许文件以内存的速度在集群框架中进行可靠的共享。典型特点就是加速读写数据的速度。

11、ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。其典型特点是全文快速检索。


2018-05-08 11:03
暂时关闭评论
暂无相关评论