0.作为一个中途转岗大数据的老程序员,记录自己大数据学习历程。也希望通过这段学习历程写一系列纯针对小白的大数据课程,为小白们踩踩坑,愿他们少走弯路。也希望鼓励大家向我这个30而立的程序员看齐,不要放弃学习。
1.初识大数据
刚刚接触大数据,之前常听人讲Hadoop、Spark、Flink、Hive、Zookeeper、Hbase这些名词,也大概知道它们分别是干什么的,但是脑海里并不能系统的将他们串联起来。其实就是不清楚大数据概念,不明白大数据原理。固决定第一步,先了解这些概念,然后把这些组件在脑海里串联起来。
2.日常使用
转岗,顾名思义,那当然是先会干活,完成业绩,再去学习岗位知识。平常工作中的使用,一是数据同步入仓,二是数据清洗(去前导0,去重等操作),三是DWD、DWM、DWS等各层的数据计算,四是数据推送进入关系型数据库,供业务使用,五是前端报表页面开发。
3.说一下大概看完一遍概念之后的自我理解
Hadoop是一个大的大数据平台,它里面涵盖了Spark、Flink、Hive、Zookeeper、Hbase等等这些东西。它的数据通过HDFS存储在文件中,因为是文件形式存储,所以适合一次写入,多次读出,退一步来说,也适合数据追加,但不方便数据修改。这也是我工作中遇到的,给hive表中加字段或者修改某些数据,是不能生效的(需要操作很多东西)。Spark是一个计算中心,通过各种映射,去进行数据计算等的操作,Zookeeper是做分布式应用的一致性的。hive相当于一个sql代码校验编译工具,做数据操作代码的开发。
所以全过程差不多是,关系型数据库等的数据,入仓后通过算法以文件形式存储在HDFS中,数据处理的SQL代码通过hive存储进行表达后,hive验证代码无误后,会进行代码的编译,编译完成后去匹配hive底层预制的语法,匹配启动为许多job任务,通过调度器去执行操作元数据文件获得最终结果。结果可经由内部工具再导入到关系型数据库等目标中。
以上为看完部分概念后的大体理解,接下来我会一一去探索各个过程的组件,并全方位的描述大数据过程。欢迎指正交流。老兵加油!