Java程序员,到底要不要转行大数据?

前几天有个朋友在群里提问:如何看待大数据的未来?有必要转大数据方向吗?

关于这个问题,谈谈我的思考。伴随公有云厂商的兴起,大数据的应用进入了2.0时代。

传统大数据那种需要大量购买机器以及Hadoop发行商版本的时代一去不复返了,企业可以非常便利的按照自己的需要,在云端弹性的分配资源,并按照使用量付费。这使得大数据技术不但进入到了传统意义上的大中型企业,更是深入到了各行各业的小企业和创业者。

另外一个方面,数据驱动这个伴随大数据兴起的理念,在10年前还有点前卫,到如今伴随谷歌,脸书,阿里,今日头条等一系列互联网巨头的兴起,已经是行业的标准了。

大数据基础建设的易用性和按需付费,以及数据驱动业务发展的理念深入人心,让大数据开发从业人员到了一个前所未有的时代。

一方面,基础建设的便利性和低成本,让企业们更愿意投资大数据;另外一方面,数据对业务发展的重要性,也让企业需要越来越多的大数据开发人员。

而数据驱动是这个时代的主旋律,从事大数据开发的人站在时代浪潮之巅,无论工作机会,还是薪资待遇,都在整个互联网从业人员里居于顶端。可以说,大数据最好的从业时间是大数据刚诞生的时间,其次就是现在。

更多精彩的内容 点我学

如果你对大数据感兴趣,那么走过路过都不能错过时代的脉搏,和在时代脉搏下高于行业平均水平一大截的薪资。

数据工程师是做什么的?

数据工程师负责创建和维护分析基础架构,该基础架构几乎可以支持数据领域中的所有其他功能。他们负责体系结构的开发、构建、维护和测试,如数据库和大型处理系统。作为其中的一部分,数据工程师还负责创建用于建模、挖掘、采集和验证的数据集过程。

为此,工程师需要掌握通用脚本语言和工具,通过利用和改进数据分析系统来不断提高数据质量和数量。

数据工程师与

数据科学家的区别

虽然在技能和责任方面存在一定程度的重叠,但这两个职位正日益被划分为不同的角色。

数据科学家更关注与数据基础设施的交互,而不是数据基础设施的构建和维护。他们通常负责进行高水平的市场和业务运营研究,以确定趋势和关系,作为其中的一部分,他们使用各种复杂的机器和方法与数据交互并根据数据采取相应的行动。

数据科学家通常精通机器学习和高级统计建模,因为他们希望借助高级数学模型和算法将原始数据转化为可操作、可理解的内容。这些信息通常被用作向决策者说明“大局”的分析来源。

那么,是什么使数据科学家不同于数据工程师呢?一般来说,主要的区别是注重的方向不同。数据工程师更专注于为数据生成构建基础设施和架构;数据科学家更专注于对生成的数据进行高等数学和统计分析。

数据工程师的关键技能

以下是数据工程师需要的一些关键技能。

数据架构的工具和组

由于数据工程师更关心分析基础架构,因此他们所需的大部分技能都是以架构为中心的。

深入了解SQL和其他数据库解决方案

数据工程师需要了解数据库管理,因此,深入了解SQL非常有价值。同样,其他数据库解决方案,如Cassandra或Bigtable,很好的知道您是否打算从事自由职业或雇佣工程,因为并非每个数据库都将建立在可识别的标准中。

数据仓库和ETL工具

数据仓库和ETL经验对这个职位至关重要。Redshift或Panoply等数据仓库解决方案以及熟悉ETL工具(如StitchData或Segment)非常有价值。同样,数据存储和检索的经验也同样重要,因为处理的数据量只是天文数字。

基于Hadoop的分析(HBase、Hive、MapReduce等)

对基于Apache Hadoop的分析有很强的理解是这个领域的一个非常常见的需求,了解HBase、Hive和MapReduce通常被认为是一个需求。

编码

说到解决方案,编码知识在这里是一个明确的优势(也可能是对许多位置的要求)。熟悉Python,C/C++,Java,Perl,Golang,或其他这样的语言是非常有价值的。

机器学习

虽然主要是数据科学家的关注点,但对于数据工程师来说,在某种程度上理解如何处理这些数据也是非常宝贵的。因此,统计分析和基础数据建模的一些知识非常有价值。

虽然机器学习在技术上属于数据科学家,但这方面的知识有助于构建可供您的团队使用的解决方案。这些知识还有一个额外的好处,那就是让你在这个领域非常有价值,因为在这种情况下,能够“双管齐下”会使你成为一个强大的工具。

各种操作系统

更多精彩的内容 点我学​​​​​​​

最后,对 UNIX, Linux和Solaris的深入了解是非常有用的,许多数学工具将基于这些系统,因为它们对超级微软Windows和Mac的硬件和操作系统功能的root访问权的独特需求。

如何成为一名数据工程师

与其他更传统的职业相比,数据工程通常需要更复杂的学习方法。数据工程师通常拥有计算机科学或信息技术学位,然后进一步使用市场认可的特定的认证计划和培训材料。

因此,尽管你的学位很重要,但它只是一部分;获得适当的证书是非常有价值的。有一些数据工程的认证:

Google的认证专家 – 数据工程。该认证表明学生熟悉数据工程原理,可以作为该领域的助理或专业人员。

IBM认证数据工程师  – 大数据。此认证更侧重于数据工程技能集的大数据特定应用,而不是一般技能,但被许多人视为黄金标准。

来自Cloudera的CCP数据工程师:具体针对Cloudera的解决方案,该认证表明学生具有ETL工具和分析方面的经验。

二级认证,例如MCSE(微软认证解决方案专家),涵盖了广泛的主题,但具有特定的子认证,如MCSE:数据管理和分析。

但在从0到1转行大数据开发的过程中,很多人有过这些经历:

大数据的主流框架Hadoop生态圈技术繁杂深奥,初一看不知道如何入手,再一看还是不知道如何入手,第三次去看就猛打退堂鼓。

很多大数据的书籍和教程,内容往往停留在浅表层面,只是教大家用现成已经装好的工具比如HIVE进行数据查询。这种照葫芦画瓢,却丝毫不讲体系原理的做法,让人误认为大数据很简单。结果一上手,什么都干不了,问题出来后不知道如何处理。

市面上也有一些大数据视频,上来就以谷歌三架马车为例,讲述的都是原理性概念性的东西,异常深奥。对初步接触大数据的人来说,往往会云里雾里……

我们都在与时间赛跑,有什么方法可以让具有一定编程经验、从0到1想转大数据开发的程序员们快速学习相关技能呢?

数据工程师负责创建和维护分析基础架构,该基础架构几乎可以支持数据领域中的所有其他功能。他们负责体系结构的开发、构建、维护和测试,如数据库和大型处理系统。作为其中的一部分,数据工程师还负责创建用于建模、挖掘、采集和验证的数据集过程。

为此,工程师需要掌握通用脚本语言和工具,通过利用和改进数据分析系统来不断提高数据质量和数量。

数据工程师与

数据科学家的区别

虽然在技能和责任方面存在一定程度的重叠,但这两个职位正日益被划分为不同的角色。

数据科学家更关注与数据基础设施的交互,而不是数据基础设施的构建和维护。他们通常负责进行高水平的市场和业务运营研究,以确定趋势和关系,作为其中的一部分,他们使用各种复杂的机器和方法与数据交互并根据数据采取相应的行动。

数据科学家通常精通机器学习和高级统计建模,因为他们希望借助高级数学模型和算法将原始数据转化为可操作、可理解的内容。这些信息通常被用作向决策者说明“大局”的分析来源。

那么,是什么使数据科学家不同于数据工程师呢?一般来说,主要的区别是注重的方向不同。数据工程师更专注于为数据生成构建基础设施和架构;数据科学家更专注于对生成的数据进行高等数学和统计分析。

数据工程师的关键技能

以下是数据工程师需要的一些关键技能。

数据架构的工具和组

由于数据工程师更关心分析基础架构,因此他们所需的大部分技能都是以架构为中心的。

深入了解SQL和其他数据库解决方案

数据工程师需要了解数据库管理,因此,深入了解SQL非常有价值。同样,其他数据库解决方案,如Cassandra或Bigtable,很好的知道您是否打算从事自由职业或雇佣工程,因为并非每个数据库都将建立在可识别的标准中。

数据仓库和ETL工具

数据仓库和ETL经验对这个职位至关重要。Redshift或Panoply等数据仓库解决方案以及熟悉ETL工具(如StitchData或Segment)非常有价值。同样,数据存储和检索的经验也同样重要,因为处理的数据量只是天文数字。

基于Hadoop的分析(HBase、Hive、MapReduce等)

对基于Apache Hadoop的分析有很强的理解是这个领域的一个非常常见的需求,了解HBase、Hive和MapReduce通常被认为是一个需求。

编码

说到解决方案,编码知识在这里是一个明确的优势(也可能是对许多位置的要求)。熟悉Python,C/C++,Java,Perl,Golang,或其他这样的语言是非常有价值的。

机器学习

虽然主要是数据科学家的关注点,但对于数据工程师来说,在某种程度上理解如何处理这些数据也是非常宝贵的。因此,统计分析和基础数据建模的一些知识非常有价值。

虽然机器学习在技术上属于数据科学家,但这方面的知识有助于构建可供您的团队使用的解决方案。这些知识还有一个额外的好处,那就是让你在这个领域非常有价值,因为在这种情况下,能够“双管齐下”会使你成为一个强大的工具。

各种操作系统

最后,对 UNIX, Linux和Solaris的深入了解是非常有用的,许多数学工具将基于这些系统,因为它们对超级微软Windows和Mac的硬件和操作系统功能的root访问权的独特需求。

如何成为一名数据工程师

与其他更传统的职业相比,数据工程通常需要更复杂的学习方法。数据工程师通常拥有计算机科学或信息技术学位,然后进一步使用市场认可的特定的认证计划和培训材料。

因此,尽管你的学位很重要,但它只是一部分;获得适当的证书是非常有价值的。有一些数据工程的认证:

Google的认证专家 – 数据工程。该认证表明学生熟悉数据工程原理,可以作为该领域的助理或专业人员。

IBM认证数据工程师  – 大数据。此认证更侧重于数据工程技能集的大数据特定应用,而不是一般技能,但被许多人视为黄金标准。

来自Cloudera的CCP数据工程师:具体针对Cloudera的解决方案,该认证表明学生具有ETL工具和分析方面的经验。

二级认证,例如MCSE(微软认证解决方案专家),涵盖了广泛的主题,但具有特定的子认证,如MCSE:数据管理和分析。

发布了101 篇原创文章 · 获赞 64 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/aa541505/article/details/104101888