大数据学习之路

来源:北京IT开发培训学校时间:2019/2/12 14:24:48

  在学习大数据之前,先要了解他解决了什么问题,能给我们带来什么价值。一方面,以前IT行业发展没有那么快,系统的应用也不完善,数据库足够支撑业务系统。但是随着行业的发展,系统运行的时间越来越长,搜集到的数据也越来越多,传统的数据库已经不能支撑全量数据的存储工作;另一方面,数据越来越多,单机的计算已经成为瓶颈。因此,基于分布式的大数据系统崭露头角。

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

  在学习大数据的过程中,需要具备的能力或者知识,在这里简单的罗列一下:

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

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

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

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

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

  HBase是基于Hdfs之上的列式数据库,基于文件分割以及rowkey的顺序存储,能索引查询数据。我这边是在推荐系统中,作为推荐结果存储引擎,不过由于内容比较碎片化,Hbase写入时间比较随意,因此总会出现大量超时现象,还在持续优化中。

扫一扫 免费领取试听课
优先领取试听课
申请试听

以上就是北京IT开发培训学校小编为您推荐的 "大数据学习之路" 的全部内容,本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任,如果发现本站有侵权内容,请联系本站在线客服,我们将第一时间删除处理。

联系我们

选择专业时,如果犹豫不定,不知道选择哪个比较好,敬请致电,专业的咨询老师会为你解答。

报名热线:15037120869

在线咨询:

北京IT开发培训学校好不好怎么样|北京IT开发培训学校联系电话|短信获取地址|咨询电话:15037120869