【大数据】基础概念

Hadoop

分布式系统基础架构

  • HDFS 分布式文件系统
  • MapReduce 并行计算编程模型
  • YARN 资源管理系统

入门学习资料:
http://hadoop.apache.org/docs/r1.0.4/cn/quickstart.html

Spark

基于内存的计算框架
https://spark.apache.org/docs/2.3.2/quick-start.html

Spark Streaming
SparkSQL

Spark的重要组成部分

  • 兼容Hive语法
  • 兼容标准SQL
    https://spark.apache.org/docs/2.3.2/rdd-programming-guide.html
HBase

可伸缩,面向列的分布式云存储系统

  • 海量数据存储
  • 实时查询
    https://hbase.apache.org/book.html
Hive

建立在Hadoop上的数据仓库基础架构。Hive定义了简单的类SQL查询语言,允许使用SQL查询数据。

HBase与Hive的区别
  • Hive是一种类SQL语言,最终被转化成Map/Reduce。Hive虽然类似SQL,但是不能交互查询,只能在Hadoop上批量执行。

  • HBase是一个Key/Value系统,运行在HDFS上。HBase可以实时运行。

  • Hive查询花费时间长,会默认遍历表中所有数据

  • Hive不支持更新操作。

  • HBase需要特定语言编写,可以通过Apache Phonenix实现,但必须提供schema为代价。而且为了运行HBase,还需要提供Zookeeper支持。

  • Hive适合离线数据查询分析。

  • HBase适合大数据实时查询。

HBase与Hive的协作关系
  • 通过Hive清洗、处理和计算数据数据;
  • 通过ETL工具将数据抽取到HDFS存储;
  • Hive清洗处理后的结果、如果是面向海量数据查询场景可以存入HBase;
  • 数据应用应从HBase查询数据。
Kafka

分布式、分区、多副本的消息发布及订阅系统。

  • 消息持久化
  • 高吞吐
  • 可靠性
  • 分布式
    https://kafka.apache.org/0100/documentation.html
Storm

Sotrm是一个分布式的实时计算系统,为大规模流式数据提供实时处理。适合场景:实时分析、持续计算、分布式ETL。

  • 分布式实时计算框架
  • 高容错
  • 可靠的消息保证
  • 灵活的拓扑定义及部署
  • 与外部组件集成,包括Kafka、HDFS、HBase。
    https://storm.apache.org/
Flume

分布式和高可用的海量日志聚合系统

    • 收集、聚合时间流数据的分布式框架

    • 通常用于日志数据

    • 支持动态更新配置

    • 提供上下文路由功能

    • 支持负载均衡和故障转移

    • 完全的可扩展
      https://flume.apache.org/releases/1.6.0.html

    • 可以用Spark/Hive进行大数据,复杂处理的离线计算。

    • 定时批量分析。

posted @ 2019-04-30 09:34  のんきネコ  阅读(191)  评论(0编辑  收藏  举报