最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【整理】大数据 相关术语概念

数据 crifan 1011浏览 0评论
如何用形象的比喻描述大数据的技术生态?Hadoop、Hive、Spark 之间是什么关系? – 知乎
Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Couchbase vs Hypertable vs ElasticSearch vs Accumulo vs VoltDB vs Scalaris comparison :: Software architect Kristof Kovacs
【总结】
  • 大数据概况
    • 背景
      • 普通文件系统
        • 单机的
          • 不能跨不同的机器
    • 现状
      • Hadoop生态圈
        • 别称:Hadoop泛生态圈
        • 目的:处理超过单机尺度的数据处理
        • 图解
    • HDFS
      • Hadoop Distributed FileSystem
        • 目标:能存得下大量的数据
          • 并管理好,处理好数据
        • 目的:支持大量的数据能横跨成百上千台机器
        • 效果:看到的是一个文件系统
          • 而不是很多文件系统
        • 举例
          • 要获取/hdfs/tmp/file1的数据
            • 引用的是一个文件路径
              • 实际的数据存放在很多不同的机器上
  • 大数据发展历史
    • 计算引擎:管理好大的数据
      • 第一代:MapReduce
        • 简化的计算模型
          • 只有Map和Reduce两个计算过程
            • 中间用Shuffle串联
        • 图解
        • 效果
          • 可以处理大数据领域很大一部分问题
        • 缺点
          • 虽然好用,但很笨重
      • 第二代:Tez和Spark
        • 特点
          • 支持内存Cache
        • 目的
          • 让Map/Reduce模型更通用,让Map和Reduce之间的界限更模糊
            • 数据交换更灵活,更少的磁盘读写
              • 更方便地描述复杂算法,取得更高的吞吐量
    • 高层抽象:Pig和Hive
      • 背景
        • MapReduce就像汇编语言
          • 虽然什么都能干,但是写起来复杂繁琐
        • 所以需要更高层更抽象的语言层
          • 描述算法和数据处理流程
            • 出现Pig和Hive
      • Pig和Hive
        • 上层
          • Pig
            • 接近脚本方式去描述MapReduce
          • Hive
            • 用SQL去描述MapReduce
        • 底层
          • 把脚本和SQL语言翻译成MapReduce程序
            • 丢给计算引擎去计算
        • 效果
          • 写起来方便多了
            • 数据分析人员,不用去求软件工程师写Java
              • 可以自己写SQL去数据统计了
          • 举例
            • 词频统计
              • MapReduce:大约要几十上百行
              • Hive的SQL:只有一两行
    • 提升速度:Impala、Presto、Drill
      • 背景:
        • Hive在MapReduce上跑,非常慢
      • 交互SQL引擎:Impala、Presto、Drill等
        • 核心理念:
          • MapReduce引擎太慢,因为它太通用,太强壮,太保守
          • SQL需要更轻量,更激进地获取资源,更专门地对SQL做优化
            • 不需要那么多容错性保证
              • 因为系统出错了大不了重新启动任务,如果整个处理时间更短的话,比如几分钟之内
        • 效果:
          • 更快速地处理SQL任务
            • 牺牲了通用性稳定性等特性
        • 类比:
          • MapReduce:大砍刀,啥都能砍
          • Impala、Presto、Drill:3个剔骨刀,灵巧锋利
            • 但是不能搞太大太硬的东西
    • 其他异类:Hive on Tez / Spark、SparkSQL
      • 背景
        • Impala、Presto、Drill等,没有达到预期效果,不是很流行
      • Hive on Tez / Spark和SparkSQL
        • 设计理念
          • MapReduce慢
          • 我用新一代通用计算引擎Tez或者Spark来跑SQL,那我就能跑的更快
        • 好处
          • 不需要维护两套系统
        • 效果
          • 基本的数据仓库的构架
            • 作用:中低速数据处理
            • 举例
              • 3层
                • 再上面跑Hive,Pig
                • 上面跑MapReduce/Tez/Spark
                • 底层HDFS
              • 2层
                • 上面直接跑Impala,Drill,Presto
                • 底层HDFS
    • 更高速的处理
      • 背景
        • 前面系统和架构只能处理中低速度
        • 针对高速处理:
          • 出现新计算模型:Streaming(流)计算
            • 最流行的流计算平台:Storm
      • 流计算
        • 思路
          • 在数据流进来的时候就处理,达到更实时的更新
        • 举例
          • 词频统计
            • 数据流是一个一个的词
            • 让他们一边流过我就一边开始统计
        • 特点
          • 优点
            • 实时计算,无延迟
          • 缺点
            • 不够灵活
              • 想要统计的东西必须预先知道
                • 毕竟数据流过就没了,你没算的东西就无法补算
        • 结论
          • 是个很好的东西
            • 但是无法替代上面数据仓库和批处理系统
    • 其他独立模块和细分领域
      • KV Store=键值对
        • 核心特点
          • 给定key键,可以快速获取到value值
        • 举例
          • 用身份证号key,能取到你的身份数据value
            • MapReduce:也能完成, 但是要扫描整个数据集,速度很慢
            • KV Store对此操作的存和取都专门优化,速度很快
              • 几个P的数据中查找一个身份证号,也许只要零点几秒
        • 理念和特点
          • 虽然
            • 基本无法处理复杂的计算
            • 大多没法JOIN
            • 也许没法聚合
            • 没有强一致性保证
              • 不同数据分布在不同机器上,你每次读取也许会读到不同的结果,也无法处理类似银行转账那样的强一致性要求的操作
          • 但是
            • 速度就是快,非常快,极快
              • 注:
                • 每个不同的KV Store设计都有不同取舍
                  • 有些更快
                  • 有些容量更高
                  • 有些可以支持更复杂的操作
        • 典型系统
          • Cassandra
          • HBase
          • MongoDB
      • 更特制的系统/组件
        • 分布式机器学习库
          • Mahout
        • 数据交换的编码和库
          • Protobuf
        • 高一致性的分布存取协同系统
          • ZooKeeper

转载请注明:在路上 » 【整理】大数据 相关术语概念

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
80 queries in 0.186 seconds, using 22.08MB memory