前言
随着互联网的不断发展,大数据是互联网高速发展的产物。大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。大数据学习这门技术也越来越重要,很多人都开启了大数据开发之旅,本文主要简单的介绍大数据开发学习的基础内容。以下是本篇文章正文内容,主要介绍一下大数据开发学习的相关知识与学习路线,下面案例可供参考:
一、编程基础
入门大数据开发有JavaSE基础是比较好的,目前也有很多JAVA后端开发的程序员转行来做大数据开发,有JAVA基础转来做大数据也是很方便的;另外我们也需要会一点Linux系统相关的知识以及SQL语句分析,整体编程基础要求如下:
- JavaSE基础(包括面向对象、封装、继承、多态、多线程、IO、网络编程等相关知识);
- SQL基础(掌握MySql的核心编程,增删改查、函数等内容);
- Linux基础(能操作Linux系统,掌握基本的Linux命令);
- Shell编程(有Linux基础的话很容易上手,也可以在实际开发中慢慢学习)。
二、大数据核心框架
掌握大数据开发编程基础之后,我们就要开始学习大数据所涉及的核心框架学习了,包括大数据离线数仓和实时数仓处理技术:
- 大数据之Hadoop基础(包括HDFS、yarn、mapreduce及相关调优等);
- 大数据之Hive(数据仓库hive的基本使用,HQL基本语法、UDF函数、自定义UDF函数等);
- 大数据之flume(数据采集flume,包括sources、channel、sink等);
- 大数据之Kafka(分布式消息系统Kafka,包括Kafka主题、分区、生产者、消费者以及flume集成Kafka在项目中的应用等);
- 大数据之HBase(分布式数据库HBase) ;
- 大数据之zookeeper(分布式协调系统zookeeper,配合各个大数据组件之间的协调工作);
- 大数据之spark技术(包括spark core 、 spark sql 、spark stream等);
- 大数据之Flink技术(大数据实时数仓)。
当然了作为一名程序员也是要做好终生学习的准备的,大数据知识远远不止这些,需要我们一点一点的慢慢积累,时刻保持着好学的心态。
三、离线数仓和实时数仓
大数据开发可以分为离线数仓和实时数仓,离线数仓的时效性没有实时数仓那么高,在实际开发过程中我们需要根据实际业务来选择:
- 离线数仓:大数据的批处理;
- 实时数仓:大数据的流处理。
离线数仓也就是所谓的传统数仓,现在跟随网络流量的发展,大数据的实时数仓应用场景在高速发展,在实时数仓中flink技术也是大展身手。