大数据的学习

看看下图,大数据有哪些工具以及具体作用:

在存储上,hdfs的分布式存储可以任意水平扩展,可以解决数据存储的难题。在计算上,从最初的MapReduce,把任务水平拆分,多台机器并行计算,再汇总结果;到基于Spark的内存计算,改造Mapreduce每次数据落盘以及编程方式的痛点。

有了存储和计算框架,周边就衍生出了很多管理、缓存相关的技术,比如:

  • yarn解决多租户资源调度的难题,
  • flume解决数据传输的难题,
  • sqoop解决分布式存储数据与传统DB数据之间的转换,
  • oozie解决了大数据计算任务的调度,
  • kafka提供了发布订阅机制的消息队列,
  • zookeeper可以帮助用户完成主备的选举,
  • hive在hdfs的基础上提供了数仓的功能,
  • hbase则基于hdfs实现列式数据库....

        上面都是hadoop生态的,由于hadoop中计算模型普遍是mapreduce,但是它的编程风格和计算机制让很多人使用不便。因此后来spark逐渐代替了mapr成为主流的计算框架。Spark也有它自己的生态,但是由于hadoop更多更早的被应用到企业,所以spark也可以无缝的集成hadoop生态中的产品。spark更多只是扮演一个计算的框架,在这个框架上,提供了基本的计算模块core,基于sql的计算引擎spark sql,对接实时数据的流式计算spark streaming,算法相关的mlib以及图计算相关的graphx。

hdfs

hdfs是大数据系统的基础,它提供了基本的存储功能,由于底层数据的分布式存储,上层任务也可以利用数据的本地性进行分布式计算。hdfs思想上很简单,就是namenode负责数据存储位置的记录,datanode负责数据的存储。使用者client会先访问namenode询问数据存在哪,然后去datanode存储;写流程也基本类似,会先在namenode上询问写到哪,然后把数据存储到对应的datanode上。所以namenode作为整个系统的灵魂,一旦它挂掉了,整个系统也就无法使用了。在运维中,针对namenode的高可用变得十分关键。

2016-07-28  单节点部署Hadoop教程2016-07-28  Hadoop HDFS 用户指南

mapreduce

hive

hive基于hdfs构建了数据仓库系统,它以hdfs作为存储,依赖于数据库(嵌入式的数据库derby或者独立的数据mysql或oracle)存储表schema信息,并完成基于sql自动解析创建mapreduce任务(由于mapreduce计算效率比较差,目前官方推荐的是底层计算模型采用tez或者spark)。所以hive可以理解为:hdfs原始存储+DB Schema信息存储+SQL解析引擎+底层计算框架组成的数据仓库。

官方文档

spark

spark是现在大数据中应用最多的计算模型,它与java8的stream编程有相同的风格。封装了很多的计算方法和模型,以延迟执行的方式,在真正需要执行的时候才进行运算。既可以有效的做计算过程的容错,也可以改善我们的编程模型。

官方文档

oozie

oozie提供了大数据场景下各种任务的调度,比如shell脚本、spark任务、mapreduce任务、sqoop任务、hive查询以及普通的java程序等等。它的编译是生态圈里面最复杂的,由于以来的各个版本不同,需要指定特定的版本,因此没有成型的一键部署包。

官方文档

sqoop

sqoop支持基于sql或者表名把数据库中的数据存储到分布式环境中,数据库支持oracle\mysql等等,分布式环境可以是hdfs,hive,hbase等等,数据的导入时双向的,比如你可以把oracle中的数据读取存储到hdfs,也可以把hdfs的数据导入到oracle.

官方文档

hbase

yarn

在企业中,大数据的基础平台往往是多个用户共用的,那么如何管理资源的分配,就需要yarn来处理了。Yarn默认提供了三种资源分配的策略:

  • FIFO:先进先出,即按照用户提交任务的时间分配资源
  • Capacity:按照队列设置队列的大小
  • Fair Share:也是基于队列,只不过资源的粒度更小。

常见可以用于分配的资源可以是节点的数量,内存的大小,也可以是CPU核数。

官方文档


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值