zoukankan      html  css  js  c++  java
  • 软件工程培训第三天总结,hadoop和mapreduce基础(附:hbase,mongodb,redis的区别)

    培训总结(三)

    (一)学习过程 

      开始老师先讲诉了大数据的起源和具体应用以及应用的意义。然后老师为我们讲诉了hadoop的安装(虽然这个早就安装了好几遍),在hadoop安装成功后老师带我们做了一个简单的wordcount的例子,让我再一次重温了mapreduce的基础知识,在课程的最后老师给我留了一个综合性较强的习题。

    (二)总结

      今天由于有的同学没有提前配置好环境所以讲的东西比较少,自由时间比较多。在自己学习的过程中再一次更加细致的认识到了hadoop和mapreduce的基本框架和知识,自己实际操作的写了几道例题还扩展了一些老师没有讲到的知识。在多出来的自由时间中我安装好了Nosql的三个数据库,和Hive并进行了一些简单的操作,为明天的学习起到了预习的作用。

    (三)问题汇总

      对于一些mapreduce的例子中的某些代码不是很理解,但老实说会用就可以,可是看着还是有点不舒服,下来后我会继续加强自己对于mapreduce的理解,已达到更好的使用mapreduce+HDFS的效果。

    (四)思维导图

      

     

    附:hbase,mongodb,redis的区别

    (1)mongodb:

    优势
    1. 强大的自动化 shading 功能
    2. 全索引支持,查询非常高效
    3. 面向文档(BSON)存储,数据模式简单而强大
    4. 支持动态查询,查询指令也使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组
    5. 支持 javascript 表达式查询,可在服务器端执行任意的 javascript函数

    缺点
    1. 单个文档大小限制为16M,32位系统上,不支持大于2.5G的数据
    2. 对内存要求比较大,至少要保证热数据(索引,数据及系统其它开销)都能装进内存
    3. 非事务机制,无法保证事件的原子性

    适用场景
    1. 适用于实时的插入、更新与查询的需求,并具备应用程序实时数据存储所需的复制及高度伸缩性;
    2. 非常适合文档化格式的存储及查询;
    3. 高伸缩性的场景:MongoDB 非常适合由数十或者数百台服务器组成的数据库。
    4. 对性能的关注超过对功能的要求。

    (2)redis:

    优势

    1. 非常丰富的数据结构;
    2. Redis提供了事务的功能,可以保证一串 命令的原子性,中间不会被任何操作打断;
    3. 数据存在内存中,读写非常的高速,可以达到10w/s的频率。

    缺点

    1. Redis3.0后才出来官方的集群方案,但仍存在一些架构上的问题(出处);
    2. 持久化功能体验不佳——通过快照方法实现的话,需要每隔一段时间将整个数据库的数据写到磁盘上,代价非常高;而aof方法只追踪变化的数据,类似于mysql的binlog方法,但追加log可能过大,同时所有操作均要重新执行一遍,恢复速度慢;
    3. 由于是内存数据库,所以,单台机器,存储的数据量,跟机器本身的内存大小。虽然redis本身有key过期策略,但是还是需要提前预估和节约内存。如果内存增长过快,需要定期删除数据。

    适用场景

    适用于数据变化快且数据库大小可遇见(适合内存容量)的应用程序。

    (3)Hbase

    优势

    1. 存储容量大,一个表可以容纳上亿行,上百万列;
    2. 可通过版本进行检索,能搜到所需的历史版本数据;
    3. 负载高时,可通过简单的添加机器来实现水平切分扩展,跟Hadoop的无缝集成保障了其数据可靠性(HDFS)和海量数据分析的高性能(MapReduce);
    4. 在第3点的基础上可有效避免单点故障的发生。(使用zookeeper实现该功能)

    缺点

    1. 基于Java语言实现及Hadoop架构意味着其API更适用于Java项目;
    2. node开发环境下所需依赖项较多、配置麻烦(或不知如何配置,如持久化配置),缺乏文档;
    3. 占用内存很大,且鉴于建立在为批量分析而优化的HDFS上,导致读取性能不高;
    4. API相比其它 NoSql 的相对笨拙。

    适用场景

    1. bigtable类型的数据存储;
    2. 对数据有版本查询需求;
    3. 应对超大数据量要求扩展简单的需求。

    转自:https://blog.csdn.net/u011127348/article/details/79172507

  • 相关阅读:
    C# 图片与Base64的相互转化
    LeetCode 303. Range Sum Query – Immutable
    LeetCode 300. Longest Increasing Subsequence
    LeetCode 292. Nim Game
    LeetCode 283. Move Zeroes
    LeetCode 279. Perfect Squares
    LeetCode 268. Missing Number
    LeetCode 264. Ugly Number II
    LeetCode 258. Add Digits
    LeetCode 257. Binary Tree Paths
  • 原文地址:https://www.cnblogs.com/837634902why/p/11449189.html
Copyright © 2011-2022 走看看