hadoop的概念

网上会经常遇到各种hadoop的概念,Hive,HBase,Hdfs都各是什么呢?

首先从hdfs说起,hdfs是分布式文件系统,它把集群当作单机一样做文件操作,文件可能存在于多个机器上,具体的存储细节会对使用者隐藏。

map_reduce是一个计算框架,google提出的,用于大规模数据计算,它们的主要思想,是从函数式编程中借来的特性。

hdfs和map_reduce统称为我们常说的Hadoop架构,这个架构能存储PB级别的数据,也能进行成千上万的独立计算。

好,现在已经有了这个框架了,这个框架包含了底层的存储结构,但是却并不是那么好用,我们大家还是擅长于使用sql语句来进行数据精炼,查询和分析的。这个时候,就出现了Hive。Hive的功能是把sql语句解析成map_reduce的计算任务,当然这样的拆分会导致查询变慢,可能一个sql查询需要分钟甚至小时级别的,不像mysql那样秒级以内查询出结果。

基于Hadoop框架,Powerset公司提出了另外一种非关系行分布式数据库HBase。它是使用JAVA实现的,最大的特点是基于列存储的。列存储的好处是什么?列存储就是把不同行相同的数据存储在一起,这样比如有的行没有的属性,在行存储中还需要留空余空间,但是在列存储中就完全不需要。列存储也能把相同属性的字段存储在一起,这样对数据压缩也有好处。所以列存储很适合大数据领域。

我们经常看到文章比较HBase和Hive,一般都是比较他们的查询效率,其实他们并不是一个维度的东西。HBase的查询效率会优于Hive,而Hive一般用于做离线的数据分析。

参考

大数据存取的选择:行存储还是列存储?
hive 、hbase区别分析

hadoop的概念的更多相关文章

  1. hadoop分布式存储(1)-hadoop基础概念(毕业设计)

    hadoop是一种用于海量数据存储.管理.分析的分布式系统.需要hadoop需要储备一定的基础知识:1.掌握一定的linux操作命令 2.会java编程.因此hadoop必须安装在有jdk的linux ...

  2. Hadoop基本概念

    一个分布式系统基础架构,由Apache基金会开发.用户可以在不了解分布式底层细节的情况下,开发分布式程序.充分利用集群的威力高速运算和存储.Hadoop实现了一个分布式文件系统(Hadoop Dist ...

  3. Hadoop基础概念介绍

    基于YARN的配置信息, 参见: http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/ hadoop入门 - 基础概念 ...

  4. 大数据 - hadoop基础概念 - HDFS

    Hadoop之HDFS的概念及用法 1.概念介绍 Hadoop是Apache旗下的一个项目.他由HDFS.MapReduce.Hive.HBase和ZooKeeper等成员组成. HDFS是一个高度容 ...

  5. hadoop 核心概念及入门

    Hadoop Hadoop背景 什么是HADOOP HADOOP是apache旗下的一套开源软件平台HADOOP提供利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理,HADOOP的核 ...

  6. Hadoop 基本概念

    一.Hadoop 简介 Hadoop 是一个由 Apache 基金会所开发的分布式系统基础架构,它可以使用户在不了解分布式底层细节的情況下开发分布式程序,充分利用集群的威力进行高速运算和存储. 从其定 ...

  7. hadoop分布式存储(1)-hadoop基础概念

    hadoop是一种用于海量数据存储.管理.分析的分布式系统.需要hadoop需要储备一定的基础知识:1.掌握一定的linux操作命令 2.会java编程.因此hadoop必须安装在有jdk的linux ...

  8. Hadoop基础概念

    Apache Hadoop有2个核心的组件,他们分别是: HDFS: HDFS是一个分布式文件系统集群,它可以将大的文件分裂成块并将他们冗余地分布在多个节点上,HDFS是运行在用户空间的文件系统 Ma ...

  9. 大数据及hadoop简要概念

    大数据 大数据简要概念 指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合.需要新处理模式,才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信息资产. 大数据作 ...

随机推荐

  1. javascript event兼容性随笔

    一.前言 function ConvertEvent(e, element) { var event = e || window.event; var resultEvent = { event: e ...

  2. 负载均衡算法(四)IP Hash负载均衡算法

    /// <summary> /// IP Hash负载均衡算法 /// </summary> public static class IpHash { static Dicti ...

  3. C语言结构体-struct

    知识点: 1)结构体的定义. 2)结构体的sizeof. 3)  结构体的指针. 1) 结构体的定义: 在逻辑上有一定关联的多个数据类型做为一整体进行操作的数据结构,它的关键字是struct.下面我将 ...

  4. jenkins + Git 搭建持续集成环境

    持续集成通过自动化构建.自动化测试以及自动化部署加上较高的集成频率保证了开发系统中的问题能迅速被发现和修复,降低了集成失败的风险,使得系统在开发中始终保持在一个稳定健康的集成状态.jenkins是目前 ...

  5. java 堆栈分析2

    有了mat.同时我们发现Java有提供jvisualvm, jvisualvm是一个不错的工具: heap dump . thread dump. cpu/mem profile 无所不能. 不过观察 ...

  6. 我的ef连接mysql之旅

      摘要: install-package ef6,mysql.data:增加provider invariantName="MySql.Data.MySqlClient" typ ...

  7. Java基础之面向对象以及其他概念

    一.基础知识:1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨平台,jvm不是跨平台的. JR ...

  8. Atitit 理解Monad attilax总结

    Atitit 理解Monad attilax总结 但函数式编程最大的一个问题是,函数是一个数学抽象,在现实世界中不存在,1 那既然这样就够用了,还要 Monad 干嘛?Monad 的作用在这里就体现出 ...

  9. GitHub & Bitbucket & GitLab & Coding 的对比分析

    目前基于 Git 做版本控制的代码托管平台有很多种,比较流行的服务有 Github.Bitbucket. GitLab. Coding,他们各自有什么特点,个人使用者和开发团队又该如何选择? 在这篇文 ...

  10. v-show和v-if的区别

    v-show和v-if的区别