经常有人问,我想学习开发,到底是学Java好还是学大数据好?或者是,学习大数据还有必要学Java吗?
      依我说,这个提问的标准答案是:两者都学。
      先来甩两张图。
      一张是腾讯的大数据开发工程师的JD,

还有一张是我随意找的某个猎头职位,

可以看到,无论是哪个职位,都要求了Java的开发经验,并且,腾讯的大数据职位明显要求了需要有Java后台开发三年经验。
      所以,我说一个武断点的结论:一个不会写Java程序的大数据工程师,不是一个好的老司机~~

1:Java与大数据的关系
      从事大数据工作,必须要掌握一门编程语言。我们所知道的,大数据开发中的一个重要工具Hadoop,就是使用Java开发的。当然,这并不是说只有Java才能做大数据,其它语言也能做。c#、scala、python,都可以,但是,学习Java的性价比更高。Java在当前环境中,一直稳坐编程语言头把交椅。
      还有一点要提的是,企业用人当中,做数据分析,都希望是有一定工作经验的人来做,比如上文腾讯的职位中就可以看到,它希望招聘一个具有3年后台开发经验的大数据工程师。那什么是后台开发语言,跟scala和python比起来,Java几乎是那个唯一可能做了3年开发的工程师会用的语言。
      同时,让我们反过来说,学了Java,我们可以去做大数据开发,但是,只学了python的大数据库开发,只能做这个。所以,想要做好大数据开发,就首先得熟练开发传统企业级或互联网平台。

2:“钱”途
      看看职友集的数据,
      Java工程师

大数据分析工程师,

可以看到30K以上的比率,大数据开发比Java工程师要高。
      但是我们也注意到一个问题,大数据的样本远远低于Java工程师。这一方面说明Java工程师的群体要大于大数据工程师,但从另外一方面来说,大数据工程师的供求比要低于Java工程师,所以现在入行,能快速进入到一个公司的核心。
      另一个值得注意的地方是,入行3-5年,大数据的薪水已经冲破25K,上探30K,但是Java工程师还停留在20K左右。所以,大数据的薪水上升将会更快。

3:行业趋势
      如果一个企业还停留在传统互联网开发阶段,未来的发展将会越来越窄。举个不好听的例子,现在一搜索就是“大数据杀熟”的例子,这个大数据杀熟,说白了,就是一个企业利用大数据分析,在原来的客户基数没有增大的基础上,增加利润点。企业失去利润增长点是很可怕的,当利用传统模式不可能再给自己体量增大的基础上,谁能用好大数据,谁就能走到最后。
      再从国家的层面上来讲,2015年,是中国“大数据开发”发展、落地之年。中国一线的云计算巨头,如阿里云、腾讯云等,在2015年数据中心的服务器数量纷纷超过50万台。在2016年,数据中心建设将进入高峰期,有云计算厂商的服务器数量将会突破100万台。
经李克强总理签批,2017年国务院、工业和信息化部发文《推动大数据产业发展》,系统部署“大数据”发展工作。党的十九大报告指出,“加快建设制造强国,加快发展先进制造业,推动互联网、大数据、人工智能和实体经济深度融合”。

所以说,大数据的行业趋势当然没问题了。但是要看到,所谓趋势,就是未来大概率会火,但是目前体量并没有那么大。这一点,我们从职友集的样本中就可以看到,Java的样本有4万多,而大数据样本是800多一点。

4:零基础的你该怎么选择?
      从上面的阐述来看,聪明的你一定已经知道该怎么选择了。那就是立足Java,学好大数据,这样,就能在保证你目前吃饱(有海量offer)的基础上,有可能在不久的将来吃好(未来大数据职位可能井喷)。

感谢关注“码农星球”。本文版权属于“码农星球”。我们提供咨询和IT培训服务,关于本文有任何困惑,请关注并联系我们。

开发入门,学Java还是学大数据?的更多相关文章

  1. Java在处理大数据的时候一些小技巧

    Java在处理大数据的时候一些小技巧 发布时间:2013-05-09 00:00:00 来源:中国IT实验室 作者:佚名   关键字:Java 众所周知,java在处理数据量比较大的时候,加载到内存必 ...

  2. JAVA开发搞了一年多的大数据,究竟干了点啥

    JAVA开发搞了一年多大数据的总结 ​ 2021年7月份加入了当前项目组,以一个原汁原味的Java开发工程师的身份进来的,来了没多久,项目组唯一一名大数据开发工程师要离职了,一时间一大堆的数据需求急需 ...

  3. 23个适合Java开发者的大数据工具和框架

    转自:https://www.yidianzixun.com/article/0Ff4gqZQ?s=9&appid=yidian&ver=3.8.4&utk=6n9c2z37 ...

  4. 零基础入门到精通:Python大数据与机器学习之Pandas-数据操作

    在这里还是要推荐下我自己建的Python开发学习群:483546416,群里都是学Python开发的,如果你正在学习Python ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有Python ...

  5. Java数据库——处理大数据对象

    处理大数据对象 CLOB中可以存储海量文字 BLOB中可以存储海量二进制数据 如果程序中要想处理这样的大对象操作,则必须使用PreparedStatement完成,所有的内容要通过IO流的方式从大文本 ...

  6. java 导出Excel 大数据量,自己经验总结!

    出处: http://lyjilu.iteye.com/ 分析导出实现代码,XLSX支持: /** * 生成<span style="white-space: normal; back ...

  7. java面试(2)--大数据相关

    第一部分.十道海量数据处理面试题 1.海量日志数据,提取出某日访问百度次数最多的那个IP. 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中.注意到IP是32位的,最多有个2^ ...

  8. java 导出Excel 大数据量,自己经验总结!(二)

    在上一次的基础上加上了样式,以及中文列名 package com.tommy.fundation.util; import java.io.OutputStream; import java.util ...

  9. java生成随机大数据文件

    package iie.udps.test; import java.io.BufferedWriter; import java.io.File; import java.io.FileOutput ...

随机推荐

  1. BZOJ2178 圆的面积并 计算几何 辛普森积分

    原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ2178.html 题目传送门 - BZOJ2178 题意 给出 $n(n\leq 1000)$ 个圆,求 ...

  2. BZOJ4556 [Tjoi2016&Heoi2016]字符串 SA ST表 二分答案 主席树

    原文链接https://www.cnblogs.com/zhouzhendong/p/BZOJ4556.html 题目传送门 - BZOJ4556 题意 给定一个长度为 $n$ 的字符串 $s$ . ...

  3. 20165235 祁瑛 2018-4 《Java程序设计》第六周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第六周学习总结 教材学习内容总结 常用实用类 (一)1.String类是final类型的,String类型常量也是对象.2.可以使 ...

  4. 爬虫之xpath用法

    导包用: from lxml import etree

  5. 【LeetCode算法-7】Reverse Integer

    LeetCode第7题: Given a 32-bit signed integer, reverse digits of an integer. Example 1: Input: 123 Outp ...

  6. jupyter notebook不能选择虚拟环境的解决方法

    今天使用dlib没有py37版本,因此创建了Version_36虚拟环境.但jupyter notebook默认的内核找不到新建的虚拟环境,解决方法是需要安装两个包: × ipykernel × nb ...

  7. python实现杨辉三角

    刚刚学python,原来用c++,Java很轻松实现的杨辉三角,现在用python实现,代码是少了,理解起来却不容易啊. 这里主要用到的Python的生成器. 我们都知道Python有列表解析功能,根 ...

  8. BZOJ-4-2038: [2009国家集训队]小Z的袜子(hose)-莫队

    思路 :分块 思想 处理离线查询操作  对查询进行排序 在同一块内的按照 r 进行排序 不同块 的按照 L进行排序. #include<bits/stdc++.h> using names ...

  9. Print Article HDU - 3507 -斜率优化DP

    思路 : 1,用一个单调队列来维护解集. 2,假设队列中从头到尾已经有元素a b c.那么当d要入队的时候,我们维护队列的下凸性质, 即如果g[d,c]<g[c,b],那么就将c点删除.直到找到 ...

  10. 解决UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range

    字符串在Python内部的表示是unicode编码,因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicode,再从unicode编码(en ...