zoukankan      html  css  js  c++  java
  • 三个月成为大数据工程师,你需要具备什么条件?

    学习大数据没有零基础入门,首先你要成为一名工程师

    在技术论坛中或知乎上,看到近几万的朋友都在疑惑,学习Java应该选择什么发展方向,这个咱们在之前的文章中有提到过,Java发展在领域上有三个选择方向:

    JavaEE,主要应用于企业级应用开发;安卓开发方向;嵌入式应用开发方向。在此建议大家选择JavaEE方向,因为应用非常广泛,岗位设置也比较多。

    Java的职业发展规划之路我们也曾在(一文阐述Java从初级到高级的学习之路——白老师分享篇(2)

    )详细列举,这里就不一一列举了。

    但我们从来没有讨论过学习Java,难道这辈子就只能做Java后端开发吗?只能在这条路上奋斗到底吗?难道中途没有其他的选择吗?

    偶然认识的一个朋友,最开始是从事Java后端开发的,后来他在业余时间自学成功转入大数据行业,现在是一名大数据工程师,待遇也比之前好更多。前提是他是一名Java后端开发。

    大数据是我们如今比较火的一个发展方向,但是很多培训机构有提到几个月速成的,小编觉得不是特别靠谱。

    原因有以下:

    1. 大数据是一个新生行业,还不太成熟。

    2. Java发展了将近20年,也没有说几个月速成的,最多也就是带你入门,让你对Java的知识结构体系有一个清晰的认知,在后期的工作实践期间成长的速度更快。

    3. 大数据的起点要高,并不是所谓的零基础就可以入门的。

    我们接下来讲述的有关大数据的学习是有条件限制的,首先你需要是一名普通的工程师,如果你是Java工程师的话更好,但如果你是小白的话,那就只能成为一名工程师的后再来学习大数据吧。

    一、认识大数据

    大数据本质其实也是数据,不过也包括了些新的特征,

    • 数据来源广;

    • 数据格式多样化(结构化数据、非结构化数据、Excel文件等);

    • 数据量大(最少也是TB级别的、甚至可能是PB级别);

    • 数据增长速度快。

    而针对以上新的特征需要考虑很多问题:

    例如,数据来源广,该如何采集汇总?采集汇总之后,又该存储呢?数据存储之后,该如何通过运算转化成自己想要的结果呢?

    对于这些问题,我们需要有相对应的知识解决。

    二、大数据所需技能要求

    Python语言:编写一些脚本时会用到。

    Scala语言:编写Spark程序的最佳语言,当然也可以选择用Python。

    Ozzie,azkaban:定时任务调度的工具。

    Hue,Zepplin:图形化任务执行管理,结果查看工具。

    Allluxio,Kylin等:通过对存储的数据进行预处理,加快运算速度的工具。

    必须掌握的技能:

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

    高阶技能6条:

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

    三、学习规划

    每天需要有3个小时的学习时间,周末的时候需要10小时,如果做不到的话,只能是

    第一阶段(基础阶段)

    1. Linux学习

      Linux操作系统介绍与安装、Linux常用命令、Linux常用软件安装、Linux网络、 防火墙、Shell编程等。

    2. Java 高级学习(《深入理解Java虚拟机》、《Java高并发实战》)

      掌握多线程、掌握并发包下的队列、掌握JVM技术、掌握反射和动态代理、了解JMS。

    3. Zookeeper学习

      Zookeeper分布式协调服务介绍、Zookeeper集群的安装部署、Zookeeper数据结构、命令。

    第二阶段(攻坚阶段)

    Hadoop、Hive、HBase、Scala、Spark、Python

    第三阶段(辅助工具工学习阶段)

    Sqoop、Flume、Oozie、Hue这些工具的学习主要在CSDN,51CTO以及官网都可以学习。

    四、学习资源推荐

    1. Apache 官网(//apache.org/)

    2. Stackoverflow(https://stackoverflow.com/)

    3. Github(https://github.com/)

    4. About 云 ://www.aboutyun.com/

    5. CSDN(//www.csdn.net/)

    6. 51CTO (//www.51cto.com/)

    总结

    在技术行业里面,每天都会有新的东西出现,需要关注最新技术动态,不断学习。任何一般技术都是先学习理论,然后在实践中不断完善理论的过程。

    • 如果你觉得自己看书效率太慢,你可以网上搜集一些课程。

    • 快速学习的能力、解决问题的能力、沟通能力在这个行业是真的非常重要的指标。

    • 要善于使用StackOverFlow和Google来帮助你学习过程遇到的问题。

    • 视频课程推荐:可以去万能的淘宝购买一些视频课程,你输入“大数据视频课程”,会出现很多,多购买几份(100块以内可以搞定),然后选择一个适合自己的。

    以上是我们对大数据学习的总结,当然我们也提到了,并不是说零基础的就可以直接学习,需要有编程的基础,要先掌握扎实的编程基础,在此建议学习Java,成为一名工程师的时候,有一定编程经验,自学起来也相对比开始要简单一点,然后对大数据有兴趣或者想要进入这个行业的就可以去学习了。

  • 相关阅读:
    关于C语言字符串
    进程间通信方式总结
    数据结构(3)-----链表
    Oracle查看用户所在表空间
    oracle linux了解基本命令行
    关于分区技术的索引 index
    oracle闪回表详解
    转:深入学习Oracle分区表及分区索引
    第一章 基本的SQL语句 (SQL基础)
    linux根分区扩容
  • 原文地址:https://www.cnblogs.com/luminji/p/7824831.html
Copyright © 2011-2022 走看看