首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

对于学习大数据的新人,面对开发语言和分析软件时,该如何选择

大数据快速发展的今天,很多人选择加入大数据学习的阵营,课时从哪里入手,如何选择合适的开发语言来做与大数据相关的事,这个话题应该困扰了不少大数据学习的新人,在面对五花八门的「开发语言」和「分析软件」时,自己该如何选择?

先开门见山的给出结论:在职场中,学习任何一门技术,优先考虑工作需求本身,其次是职业发展所需,最后才是兴趣和好奇驱动。本末颠倒的话,不仅学习效率低下,而且还可能竹篮打水一场空,浪费时间成本。

就拿我自己说事,读书期间在做「数学建模」时,因为不是计算机软件相关的专业,唯一接触过的C语言(The C Programming Language)也只懂皮毛,所以每一次比赛为了去「收集数据、处理数据、分析数据和构建模型」,只能借助人力、Excel、Matlab和SPSS去操作。

当然,这些工具也足够去满足比赛的技能要求了,而且比赛的核心也不在于非要用更高级的编程语言,相反它们只是解决问题的一种形式罢了,关键在于要快速上手,要能解决需求痛点。

所以,在这样的一个情况之下,我并没有牺牲大量的学习成本,重新去提高C语言的编程能力,甚至是从0到1去学习Java语言。

临近秋招前,我开始去了解工业上常用的数据开发软件和开发语言,简直是琳琅满目,有Python、R、Eviews、SAS、SPSS、Tableau、水晶易表,一大堆。还有Java、C、C++、Hadoop各种词汇都浮现于眼前。

那时候就有点不知所措了,完全不知道该学什么,所以最后都选择接触了一遍,但结果真的是白费努力,浪费时间。

后面实习入职了一家互联网电商平台,部署了6~7个节点的分布式集群去做大数据计算,当时还以为自己终于能玩「大数据」了,可没想到最后用的最多的却是SQLHQL、Excel、PPT、SPSS。而且它们已经足够解决日常的工作需求了。

所以说,学习任何一门技术,最好能在实际工作中有所使用,毕竟你的工作时间限制了你的学习精力,否则你很难去达到熟练的程度,更别提深入专研。

但不管如何,从行业的发展趋势上,很多新技能是必须要学习和掌握的,如果工作中真的没有机会去接触和使用的话,那就只能换一个更合适的平台。

当初我就是这样去考虑的,毕竟「大数据」的热潮已经全面铺开了,再不抓紧就只有看夕阳西下了。

所以,在后面几年的工作经历中,我都是在接触Hadoop、Spark相关的开源软件,从0到1的去学过Python、Java、Hive、MapReduce(基于Java实现)、Shell 、Scala、Spark Streaming这些技能。

但是不管如何,这一切的新知识学习都是为了去适应工作环境,为了更快捷和更高效去解决工作需求的问题。同时因为工作中常常接触到,所以才能熟练起来,也才有机会去深入思考更底层的问题。

总而言之,我认为任何技术都是为了更好的服务于业务,业务是驱动技术发展的关键因素。

当然,从行业趋势上,我也打算在后期引入深度学习的计算框架,也会去考虑高并发的计算效率优化等等,但是回归本质都是为了提升业务模型的效果,解决更多业务需求痛点。

因此,要想去学习新技能,引入新技术,大前提是现有的业务需求已经得到有所解决,而且能够得到业务的支持和信任,这样在后期技术的推进上才能有时间去摸索,有机会去尝试。否则,你同样只能学个皮毛。

好了,讲述完了我自己,最后来谈谈大多数朋友的局面,这也是大家所关心的。

首先,作为数据小白,应该先学习什么数据技能?

毫无疑问,这时候你需要先把「入门」作为首要目标,不要过于浮躁,优先考虑去学习SQL、Excel、SPSS、PPT,这样你才有机会进入一个平台,能够接触数据,开始数据分析,尝试撰写报告。利用好这个跳板,你才能向「成长」进阶。

其次,作为业务人员(含分析师、产品经理),应该学习什么数据技能?

这时候你需要去进一步提高自己的专业技能,这样才有机会去更了解数据,训练数据感,写出更有深度的分析报告,甚至是以后的转岗。所以你需要一把利剑,我会优先推荐Python,节省以后学习其他语言(Java、Scala)的时间成本。

另外,作为数据开发,应该先学习什么数据技能?

我的建议是,你先去做好一个Java工程师,掌握一定的专业技能,再来考虑从事大数据开发呢。

当然,这样的时间成本或许挺高,而且现阶段开源这套技术框架基本稳定和易上手了。

最后,作为数据挖掘,应该先学习什么数据技能?

数据挖掘这个岗位,严格上区别于算法工程师,前者是一个偏业务、重数据、看实践的岗位,通俗易懂就是在探索海量数据中的经济价值。

所以,大部分数据挖掘工程师,首当其冲的痛点是需要思考一个问题:如何将以往熟练的这套技术和流程与「大数据」和「业务」相结合。

别想着利用PythonR去直连生产环境的数据做分析,很多平台都有堡垒机,也不允许本地环境与生产环境的直接交互。即使你load到了线上数据,但是只凭借DataFrame这样的操作,我认为很难去分析出什么数据价值,更别提能不能单机运算的效率。

所以,做数据挖掘工作时,除了思考模型的效果提升,也要考虑清楚自己的模型后期将如何去与线上业务结合,以及它的计算效率和自动化工作。

因此,我建议优先去考虑一下分布式集群的计算方式,如果平台缺乏团队和资金的话,要么考虑单独增加本机的计算资源和优化模型的计算效率,要么考虑换一个工作环境。

最后,对于大部分数据挖掘工程师来说,一定要加强SQL、Excel的使用,这是最基本,也是最重要的。

转载自网络 不用于商业宣传 版权归原作者所有,侵权删。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181218A0V9G900?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券