搞大数据,Java 工程师需要掌握哪些知识?-阿里云开发者社区

开发者社区> 沉默王二> 正文

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

简介: 搞大数据,Java 工程师需要掌握哪些知识?
+关注继续查看

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


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




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


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、最后


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


执行力,很重要,对吧?


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
10089 0
Java工程师该如何编写高效代码?
阿里妹导读:世界上只有两种物质:高效率和低效率;世界上只有两种人:高效率的人和低效率的人。——萧伯纳 同理,世界上只有两种代码:高效代码和低效代码;世界上只有两种人:编写高效代码的人和编写低效代码的人。如何编写高效代码,是每个研发团队都面临的一个重大问题。 本文作者根据实际经验,查阅了大量资料,总结了"Java高效代码50例",让每一个Java程序员都能编写出"高效代码"。
6528 0
Java工程师知识图谱
一、Java工程师知识图谱(思维导图版) 二、Java工程师知识图谱(图文版) 三、Java工程师知识图谱(文字版) http://note.youdao.com/noteshare?id=615da94eb39d054ca96694af890b28bd&sub=wcp1532525999763671 四、参考 https://blog.
3185 0
Java工程师必知词汇:变量
在程序设计中,变量(Variable,scalar)是指一个包含部分已知或未知数值或信息(即一个值)之存储地址,以及相对应之符号名称(识别字)。
251 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
13893 0
一行命令导致的数据丢失,阿里工程师是如何恢复的? | 8月30号栖夜读
今天的首篇文章,讲述了:数据安全性被提到了前所未有的高度,数据保护的话题越来越成为敏感。因为,业务的中断时间对用户造成的影响愈来愈大。阿里技术专家凡钧从数据安全的形势与发展,面临的挑战,问题的定义,传统的解决方案,当前云厂商的解决方案,去阐述什么是连续数据保护并提出了弹性的可验证的连续数据保护方案
3422 0
工程师笔记:我对数据库系统云原生化的一些思考
目前在安全生产团队从事上云稳定性相关工作。曾在阿里数据库团队,先后主导完成数据库异地多活架构设计,容器化建设及弹性大促,同时也参与过阿里数据库产品和服务体系的商业化输出。
1380 0
+关注
沉默王二
微信搜索「沉默王二」,回复关键字「00」获取硬核计算机基础资料。
1084
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载