2.大数据基础(下)_2.MapReduce基础

来源:互联网 发布:淘宝转运四方 编辑:程序博客网 时间:2024/06/16 21:32
1.------------------------------------
* How does MapReduce achieve this function?
    MapReduce模型是两种函数式计算机语言的结合,即映射(map)和归约(reduce). map部分将一个任务分发给各个系统进行处理,同时它也负责将任务合理处置,使得负载平衡,并在出错时进行恢复。reduce部分将所有的元素进行整合,形成最终的结果。
    map和reduce机制是大数据的一个很好的选择,因为它们不会破坏原始数据,但却可以输出新的数据结构。


* Summary:
- MapReduce是一个将任务分解到多个服务器进行处理,并将结构整合到一起的编程模型。
- MapReduce的四个主要特点:调度算法,同步,代码/数据协同定位, 错误处理机制
- map函数对数据库中的条目进行处理,并返回一个结果列表。
- reduce函数对结果列表进行进一步处理,得到最终结果。



2.------------------------------------
* Characteristics of HBase:
- 连续性,分片技术,高可靠性和客户端API


* Benefits of HBase:
- Hbase可以存储大量的数据,允许对数据进行调整接入,进而进行处理和更新
- 更新数据时, Hbase效率很高,不论所进行的操作是按次序的还是随机的,是更新还是删除
- 因为Hbase是在内存内存储数据,所以延迟低,Hbase使用timestamp函数,以降序在单元格内存储数据,这样可以确保读取操作总是先找到最近的值
- 在Hbase中,每个列都从属于一个列族,每个列族名使用一前缀来标识其列族的成员, Hbase是在列族的层级上实现的,这使得估计数据如何被访问,以及数据列需要有多大变得尤为重要,Hbase表中的各行也有一个键伴随着它们,这样的结构十分灵活,键可以是一个计算值,字符串甚至是其他的数据结构,它用来控制在行中对于单元格的访问,其存储的顺序是从小到大.
- 所有的这些优点/特性组合在一起,是在数据存储之前就被定义好的,即使在数据库已经建立,运行起来以后,数据表也可以被修改,新的列族也可以加进来

* Types of Data that HBase Can Work With:
- 改变慢的数据,包括参考数据,IP地址地理位置查询表以及产品尺寸数据
- 改变快的数据,包括应用日志,点击流数据以及游戏内使用数据
- 它们被用于实时的日志获取和批处理日志分析,Hbase不仅可以快速获得这些数据,也可以对数据库快速更新,使得更新完成后,马上可以继续处理这些内容


* Mechanisms that Hive Uses for Data Organization:
- Hive是建立于Hadoop上的一个软件项目, 主要使用三个机制对数据进行组织:
1)首先是Hive表会映射到文件系统的目录中,表存储在另一个本地文件系统中
2)第二个机制是分区,一个Hive表可支持一个或多个分区,这些分区表示了数据在整个表中的分布,并被映射到底层文件系统的子目录中
3)最后一个机制是桶,表中的数据可以分成多个桶,以文件的形式存储在底层文件系统的分区目录中
- metastore是Hive元数据的存储地点, 它是一个关系型数据库,包含Hive模式的详细描述,metastore可以与Hadoop生态系统中的其他元数据服务同步目录数据


* Benefits of HiveQL:
- HiveQL提供了单表或多表中的select aggregate以及union函数
- 同时它也提供了用户定义函数进行查询
- 由于Hive依赖于Hadoop运行,所以它是可扩展的,易恢复的
- 不同于其他数据仓库,Hive在不需要实时性的数据挖掘与深度分析领域里非常有用
- 缺点:HiveQL不是为快速查询或者实时分析设计的,事实上,一个查询,根据其复杂程度,可能需要几分钟甚至几小时


* What can you do with HiveQL?
HiveQL可以创建表和分区,也支持算术,逻辑,和关系运算符,它可以使用函数,将查询结果下载到HDFS目录中,或者将表的内容下载到本地目录中。因此,通过Hive和Hbase,结构化数据,仓库数据以及流数据都可以进入Hbase进行MapReduce操作。


* Summary:
Hbase是一个开源的 非关系型的 分布式数据库
它可以高速,存储,处理以及更新大量的数据
它使用一个面向列的数据库,提供了高灵活性,高性能 可扩展性的特点
它可用于处理改变慢的数据和改变快的数据
Hive是一个建立于Hadoop之上的数据仓库,用于处理结构化数据
它对于数据挖掘和深度分析非常适用


--------------------------------------
11:12 2015/8/30
0 0
原创粉丝点击