美文网首页我爱编程计算机杂谈程序员
靠谱的数据开发从业指南No.82

靠谱的数据开发从业指南No.82

作者: 一名叫大蕉的程序员 | 来源:发表于2018-01-28 09:09 被阅读0次

数据开发太庞大了

有小伙伴让我聊聊数据开发的职业规划和从业指南,因为数据开发从业人员的知识量实在是太太太大了,今天恰好这个机会好好聊聊。

我们先来看看 InfoQ 整理的这个图,技能树不是一般的庞大,如果你是大牛那忽略我上面说的一切,你能 handle 的。但是作为一个初级人员,那具体应该从哪里去切入呢?

image

数据开发是有很多种的

很多小伙伴一聊到数据挖掘呢,都会无法自拔地想到机器学习算法,其实嘛,绝大多数的数据岗位并不需要这么高深的知识。但是如果你掌握了技能书的更多内容呢,你可能可以对你数据的上下游有更加强的把控力度,你可能可以进阶到下一个阶段。

数据挖掘的技能树横向和纵向都是很深的,并不适合所有的门外汉,因为往深了学确实很难,需要机器学习、深度学习、概率论、线性代数、智能优化方法等很深层次的数学知识,需要分布式一致性的各种算法,需要资源调度的各种理论。

很多人都觉得要掌握所有的技能才能开始这项工作。两个字概括今天这篇文章,未必。一句话,每个岗位都有自己的侧重点,各项技能在每个岗位的权重都不一样。

数据从产生到被使用,最基础的链路就是。采集 -> 清洗 -> 处理 -> 分析 -> 决策。而在这个链路上,从前到后,所需要的技能是不一样的。一般来说,越处于后端门槛越高,复杂程度也越高。当然我不是说前面就不重要了,每一个环节都很重要,只是门槛高低而已。每个阶段做到牛逼你都可以很牛逼。

所以数据开发的职位从纵向来说,可以分为 数据采集工程师->ETL工程师->数据开发工程师->数据算法工程师->数据分析师。从横向来说,还可以有数据集群运维工程师、大数据平台开发工程师、数据治理架构师、数据服务架构师、大数据系统架构师、大数据框架开发工程师 这些职位来支持前面的这些流程更加方便快捷地开发和落地,以及更好地维护。

数据开发每一种需要什么技能呢?

从职业发展来说,一般来说有这么三条线,只是个人见解,大家看着食用。

主线1:给数据开发人员提供支持的线,就叫他服务支持线吧。

数据集群运维工程师->大数据平台开发工程师->大数据系统架构师->大数据框架开发工程师

主线2:为数据开发人员提供弹药,就叫他数据仓库线。

数据采集工程师->ETL工程师->数据治理架构师->数据服务架构师

主线3:为数据分析人员提供弹药,就叫他数据挖掘线。

数据开发工程师->数据算法工程师->数据分析师

而且会经常的,从主线1到主线3的过程中,越靠后的会越发现,前面的人做的什么玩意,数据太乱了,工具太特么难用了。这个时候可能会产生跳跃,去帮助前面的人完善一些东西。所以主线3的数据开发和数据算法人员经常会跳到主线2帮助数据仓库人员梳理数据层次,梳理数据服务的提供方式。主线3和主线2的人发现工具平台太难用或者集群不稳定,甚至可能开发框架有点难受,都会跳到主线1协助平台和框架的优化。

下面稍微说说三条主线,各自的技能点差异。

主线1:服务支持线

必选:Linux、Hadoop集群,Hive、Zookeeper、HBase、Ozzie、Flume

可选:Impala、各种框架源码

语言:shell、Python

建议路线:1、先学习基础的 Hadoop 集群维护技能,写一些 shell 脚本,使用定时调度功能。2、学会使用平台工具进行监控和维护,并参与到平台开发和工具开发中。3、对现有系统架构和框架进行重新架构或改良。

主线2:数据仓库线

必选:HiveQL、Spark、Hive、Flink、Kafka

可选:Storm、分布式一致性算法、JVM调优、MapReduce、BitTable

语言:Scala,SQL,Java

建议路线:1、学会从业务系统的关系型数据库中抽取数据。2、学会使用Hive SQL 对数据进行清洗。3、学会用 Spark、Flink 对数据进行各种处理和输出,若数据量太大则应该进行调优。4、学会对数据进行治理,对数据进行分层设计,对数据分布心理有数,对数据质量进行全方位监控。

主线3:数据挖掘线

必选:可视化技术、SQL、统计学、概率论、智能优化、机器学习工具(Tensorflow、scikit-learn)

可选:caffee,torch,OpenCV

语言:Python,R

建议路线:1、学会使用 SQL 拿到所需的数据以及预处理出特征。2、使用 R 或者 Scikit-learn 进行数据探索和挖掘。3、对数据进行业务层面的分析,以提取出更有用的东西。4、自己实现一些数据分析的算法。

聊聊数据开发的语言问题

最后聊聊数据从业人员的语言问题。总是有小伙伴问我,该不该学 R,该不该学 Scala ,该不该学 Python,该不该用 Java。我的观点就是,每个语言都只是自己的工具,不要守着一本语言到死,每个语言都有它自己擅长的领域,在每个领域你尽量用它擅长的语言去处理,就好了。(并不是说当然其他语言也会有一些旁支可以处理一些)。

Scala:Spark的实现语言是 Scala,现在也有大神用 PySpark 来实现一些数据处理的东西,为了兼容机器学习框架。

Python:数据爬取和机器学习从业必备,其他语言基本都是旁支。不要以为Python跑得很慢,其实那些框架都是 C++ 和 C 实现的,只是套了一个 Python 的壳,还做了很多优化,比你自己写的 C++ 还快。

R:数据探索和数据可视化有非常多场景是用 R 语言来进行做的。

Java:Hadoop 套件基本都是用 Java 实现的,熟悉 Java 可以让你更加清晰你所占用的资源分布,瓶颈是在 cpu 还是 内存,是磁盘 IO 还是 网络 IO。

建议的切入角度

从 Sqoop、Hive、Spark、Hadoop 、Python入手,了解最基础的数据处理流程,在这下面几个流程中有针对性地进行学习。

1、从关系型数据库用 Sqoop 导入到 Hive 中,这个过程可以用 Ozzie 定时调度。

2、使用 HiveSQL 进行数据清洗

3、使用 Spark 和 SparkStreaming 进行数据离线和在线处理。

4、使用 SparkMLLib 或者 scikit-learn 进行数据初探。

完。希望能对你们会有点启发,对于数据挖掘不会觉得很深奥,觉得有用的话分享给你的朋友吧。你不转发赞赏评论丢硬币丢香蕉一下吗?

PS:微信群满100人了二维码扫不了了,可以作为一个吹逼聊天的地方,万一思想碰撞出什么呢?有兴趣的直接加我微信 DAAA-Banana ,我拉你进去。弱弱地问一句,要是开小蜜圈有人想进吗?因为微信实在刷得太快,公众号频率又太低,小蜜圈可以分享一些很小的不足以成文但个人认为又有价值的点。留言告诉我吧~

Just need a coffee

相关文章

  • 靠谱的数据开发从业指南No.82

    数据开发太庞大了 有小伙伴让我聊聊数据开发的职业规划和从业指南,因为数据开发从业人员的知识量实在是太太太大了,今天...

  • 数据化 永远 比感觉靠谱

    数据化 永远 比感觉靠谱 数据化 永远 比感觉靠谱 数据化 永远 比感觉靠谱 感觉这个东西,太不靠谱了 从今天起,...

  • 广州小程序开发哪家靠谱?

    哪家小程序公司靠谱?广州小程序开发哪家小程序公司靠谱?广州小程序开发推荐拓冠科技,广州专业小程序开发公司,专业定制...

  • 哪家小程序公司靠谱?

    哪家小程序公司靠谱?广州小程序开发哪家小程序公司靠谱?广州小程序开发推荐拓冠科技,广州专业小程序开发公司,专业定制...

  • 哪家小程序公司靠谱【广州小程序开发】

    哪家小程序公司靠谱?广州小程序开发哪家小程序公司靠谱?广州小程序开发推荐主题邦科技,广州专业小程序开发公司,专业定...

  • 电邮靠谱指南

    原发: 电邮靠谱指南 今天 gitcafe 公众号转载了此篇扫盲文, 才知道原来常识也得持续的传播.好吧... 简...

  • 做事靠谱指南

    我做事经常是混乱无序的,要做到有序条理,提升理性思维,精细化,精准化。 做事靠谱指南: 先要听到或者看到这是什么事...

  • 主编课堂《靠谱》书评

    职场中必备的“靠谱”技能 《靠谱》这本书,可以当作一本较全面的职场人士培训指南。不仅可以给那些初出茅庐的职场小白提...

  • 山东网站建设制作公司哪家好?山东建站做网站哪家靠谱?

    山东网站建设制作公司哪家好?山东建站做网站哪家靠谱? 结合自己的从业经验,分享给门外汉们一些干货!如何找靠谱专业的...

  • 投资人看什么

    想清楚为谁为你买单(找用户) 痛点是什么(找需求) 稳定、独特的数据源(找数据) 靠谱的人做靠谱的事(找人才) 考...

网友评论

    本文标题:靠谱的数据开发从业指南No.82

    本文链接:https://www.haomeiwen.com/subject/hmjaaxtx.html