搞大数据,Java 工程师需要掌握哪些知识?

大数据
题目是一名叫“截然不同”的同学私信我的一个问题,原话是,“搞大数据,java 需要掌握哪些技术点?”,我稍微调整了一下。必须得承认一点,我本人没有搞过大数据,所在这方面的经验为零。

 题目是一名叫“截然不同”的同学私信我的一个问题,原话是,“搞大数据,java 需要掌握哪些技术点?”,我稍微调整了一下。必须得承认一点,我本人没有搞过大数据,所在这方面的经验为零。

但同学既然问了,咱就不能假装不知道啊,虽然真的是不知道。但要变强,就必须无所畏惧,迎难而上,对吧?

[[336313]]

 

幸好我身边有一些朋友是做大数据的,我可以向他们请教,了解清楚后,我现在就把他们给我的建议整理一下发出来,希望给有需求的同学们一点帮助。

01、大数据的就业方向有哪些?

现实点,我们掌握任何技能都是为了就业,为了能够找份工作糊口;立志不打工的同学们请绕行哈。

那大数据的就业方向都有哪些呢?

  • 大数据工程师
  • 大数据科学家
  • 数据分析师

那针对这些不同的就业方向,都需要哪些技能呢?我们来一一的分析下。

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

大数据工程师的门槛相对其他两个较低一些,所以同学们可以重点关注一下这个方向。

先说一些必备的技能吧。

  • 对 Java 虚拟机有着深入的研究,推荐书籍,周志明的《深入理解 Java 虚拟机》。
  • 对 Java 并发掌握得很透彻,推荐书籍,《Java 并发编程实战》。
  • 掌握 Hadoop。Hadoop 是一款支持数据密集型分布式应用程序并以 Apache 2.0 许可协议发布的开源软件框架,可以使应用程序与成千上万的独立计算的电脑和 PB 级的数据连接起来,整个 Hadoop “平台”还包括 MapReduce、Hadoop 分布式文件系统(HDFS)。
  • 掌握 HBase。HBase 是一个开源的非关系型分布式数据库,是 Hadoop 项目的一部分,运行于 HDFS 文件系统之上,对稀疏文件提供极高的容错率。
  • 掌握 Hive。Hive 是一个建立在 Hadoop 架构之上的数据仓库,能够提供数据的精炼,查询和分析。
  • 掌握 Kafka。Kafka 的目标是为处理实时数据提供一个统一、高吞吐、低延迟的平台。
  • 掌握 Storm。Storm 是一个分布式计算框架,使用用户创建的“管”和“螺栓”来定义信息源和操作,允许批量、分布式处理流式数据。
  • 了解 Scala。Scala 是一门多范式的编程语言,设计初衷是要集成面向对象编程和函数式编程的各种特性。可以和 Java 兼容,运行在 Java 虚拟机上。
  • 掌握 Spark。Spark 是一个开源集群运算框架,相对于 Hadoop 的 MapReduce 会在运行完工作后将中介数据存放到磁盘中,Spark 使用了存储器内运算技术,能在数据尚未写入硬盘时即在存储器内分析运算。
  • 会用 Linux。推荐书籍,鸟哥的《Linux 私房菜》。

再来说一些高阶的技能吧。

  • 会用 Python。
  • 会用 R 语言。
  • 精通算法和数据结构。

03、大数据科学家的技能要求

“科学家”,这个 title 听起来就很牛逼,不会出乎同学们的意料,我小时候的梦想之一除了成为一名作家之外,就是成为一名“科学家”。

那大数据科学家,要求的技能就会超出绝大多数普通人的能力。首先,要对“统计机器学习方法”有着很深入的研究,既要会预测,还要能解释为什么要这样预测,对吧?

如果要预测股票是涨还是跌,就必须得有一套可以解释给客户听的理论,还要有一套预测方法,让程序能够按照这个方法去执行,并得出预期的结论。

现如今,数据已经不值钱了,哪里都是大量的数据,值钱的是通过对这些数据进行分析,得出指导性的建议——这就要求科学家要有数据处理的能力。

不多说了,这方面的要求非常高,最起码也得考个研究生吧。

04、数据分析师的技能要求

数据分析也可以细分为两个领域,一个类似产品经理,更注重业务,对业务能力要求比较高;一个偏向数据挖掘,更注重技术,对算法和数据结构要求比较高。

那不管是产品经理还是做数据挖掘,SQL 是必知必会的,因为数据分析师每天都要处理海量的数据,而这些数据来自哪呢?就是数据库。那怎么把数据从数据库中取出来呢?SQL 语句(select * from xxx,哈哈),别无其他。

那还需要什么技能呢?统计学基础,对,没错,数据和时间的关系,数据的动态分布,数据的最大值、最小值、平均值,这些都需要一定的统计学基础。

当然了,做数据分析比较好的编程语言是 R 语言或者 Python,所以还需要学习一下这两门语言。不过,有了 Java 作为基础,学 Python 就会更容易些,因为 Python 本身的语言更简洁。(R 语言主要用于统计分析、绘图、数据挖掘)

推荐两本书吧,《深入浅出数据分析》和《精益数据分析》。

05、最后

好了,我已经把要学习的技能告诉同学们了,接下来,就靠同学们自己的修行了。看书,或者网上找资料(按照关键字去搜索),都可以,关键就看你愿不愿意沉下心,去花时间钻研了。

执行力,很重要,对吧?

 

责任编辑:华轩 来源: 沉默王二
相关推荐

2021-03-31 22:25:46

运维工程师技能

2021-03-24 15:15:34

数据工程师开发工具

2020-07-22 14:50:35

Python数据分析

2021-01-29 17:26:03

大数据开发工程师

2010-08-10 13:22:41

2021-10-13 09:00:00

大数据数据工程师工具

2020-03-17 15:15:49

Python工程师面试题

2021-03-23 10:04:55

数据工程师工具数据分析

2020-11-03 16:42:46

容器Dockerfile技术

2020-11-25 09:27:49

Docker容器技术

2018-12-29 15:10:22

工程师爬虫Python

2017-11-09 14:12:44

大数据软件工程师算法工程师

2023-03-17 16:45:57

2010-08-10 16:42:00

网络工程师面试知识

2022-08-12 09:21:43

前端JavaScript代码

2009-12-18 10:08:47

路由器协议

2020-10-19 09:32:49

容器Docker管理

2020-10-27 10:52:37

Docker容器存储

2020-10-26 15:11:50

Docker容器IT

2017-03-30 16:03:06

Linux运维工程师技能
点赞
收藏

51CTO技术栈公众号