java程序员3个月业余时间学习 大数据路径

前言:

  • 一、背景介绍
  • 二、大数据介绍

正文:

  • 一、大数据相关的工作介绍
  • 二、大数据工程师的技能要求
  • 三、大数据学习规划
  • 四、持续学习资源推荐(书籍,博客,网站)
  • 五、项目案例分析(批处理+实时处理)

前言

一、背景介绍

本人目前是一名大数据工程师,项目数据50T,日均数据增长20G左右,个人是从Java后端开发,经过3个月的业余自学成功转型大数据工程师。

二、大数据介绍

大数据本质也是数据,但是又有了新的特征,包括数据来源广、数据格式多样化(结构化数据、非结构化数据、Excel文件、文本文件等)、数据量大(最少也是TB级别的、甚至可能是PB级别)、数据增长速度快等。

针对以上主要的4个特征我们需要考虑以下问题:

  1. 数据来源广,该如何采集汇总?,对应出现了Sqoop,Cammel,Datax等工具。

  2. 数据采集之后,该如何存储?,对应出现了GFS,HDFS,TFS等分布式文件存储系统。

  3. 由于数据增长速度快,数据存储就必须可以水平扩展。

  4. 数据存储之后,该如何通过运算快速转化成一致的格式,该如何快速运算出自己想要的结果?

    对应的MapReduce这样的分布式运算框架解决了这个问题;但是写MapReduce需要Java代码量很大,所以出现了Hive,Pig等将SQL转化成MapReduce的解析引擎;

    普通的MapReduce处理数据只能一批一批地处理,时间延迟太长,为了实现每输入一条数据就能得到结果,于是出现了Storm/JStorm这样的低时延的流式计算框架;

    但是如果同时需要批处理和流处理,按照如上就得搭两个集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易于管理,所以出现了Spark这样的一站式的计算框架,既可以进行批处理,又可以进行流处理(实质上是微批处理)。

  5. 而后Lambda架构,Kappa架构的出现,又提供了一种业务处理的通用架构。

  6. 为了提高工作效率,加快运速度,出现了一些辅助工具:

    • Ozzie,azkaban:定时任务调度的工具。
    • Hue,Zepplin:图形化任务执行管理,结果查看工具。
    • Scala语言:编写Spark程序的最佳语言,当然也可以选择用Python。
    • Python语言:编写一些脚本时会用到。
    • Allluxio,Kylin等:通过对存储的数据进行预处理,加快运算速度的工具。

以上大致就把整个大数据生态里面用到的工具所解决的问题列举了一遍,知道了他们为什么而出现或者说出现是为了解决什么问题,进行学习的时候就有的放矢了。

正文

一、大数据相关工作介绍

大数据方向的工作目前主要分为三个主要方向:

  1. 大数据工程师
  2. 数据分析师
  3. 大数据科学家
  4. 其他(数据挖掘等)

二、大数据工程师的技能要求

附上大数据工程师技能图:

enter image description here


在这里还是要推荐下我自己建的大数据学习交流群:199427210,群里都是学大数据开发的,如果你正在学习  大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。



必须掌握的技能11条

  1. Java高级(虚拟机、并发)
  2. Linux 基本操作
  3. Hadoop(HDFS+MapReduce+Yarn )
  4. HBase(JavaAPI操作+Phoenix )
  5. Hive(Hql基本操作和原理理解)
  6. Kafka
  7. Storm/JStorm
  8. Scala
  9. Python
  10. Spark (Core+sparksql+Spark streaming )
  11. 辅助小工具(Sqoop/Flume/Oozie/Hue等)

高阶技能6条

  1. 机器学习算法以及mahout库加MLlib
  2. R语言
  3. Lambda 架构
  4. Kappa架构
  5. Kylin
  6. Alluxio

总结如下:

必须技能10条:


Java高级(虚拟机、并发)、Linux 基本操作、Hadoop(此处为侠义概念单指HDFS+MapReduce+Yarn )、HBase(JavaAPI操作+Phoenix )、Hive(Hql基本操作和原理理解)、Kafka、Storm、Scala需要、Python、Spark (Core+sparksql+Spark streaming )、一些小工具(Sqoop等)


高阶技能6条:


机器学习算法以及mahout库加MLlib、R语言、Lambda 架构、Kappa架构、Kylin、Aluxio


三.学习路径


1

1

1

1



相关学习书籍:Java 高级学习(《深入理解Java虚拟机》、《Java高并发实战》)、Hadoop、HBase(《HBase权威指南》)、Hive(《Hive开发指南》)、Scala(《快学Scala》)、Spark (《Spark 快速大数据分析》)


其他对应技能需求,如果你觉得自己看书效率太慢,你可以看一些课程,跟着课程走也OK 。这个完全根据自己情况决定,相反的话就自己看书。我把最重要的事情(要学什么告诉你了),剩下的就是你去搜集对应的资料学习就ok了。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31561003/viewspace-2642194/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31561003/viewspace-2642194/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值