最近后台收到很多私信,内容大都差不多,总结下来就是:
目前在学习大数据专业,想提前了解一下大数据开发工程师的工作职责是怎么的?需要提前准备些什么?大数据分了哪些岗位?
笔者已从事数据开发工作三年有余,结合自己的工作经历和几位同行的经验来聊聊这几个问题。希望可以帮到你。
大数据的几个明显的特点:
以上特点带来了数据的存储和计算问题,大数据技术的出现就是为了解决上述问题的。
接着往下看,下图 1-1 展示了数据端到端的流程,从左到右依次为:数据产生、数据采集和传输、数据存储,处理、数据应用。
为了解决这个过程中大数据场景遇到的问题,我们可以使用哪些技术呢?
数据采集和传输:Sqoop、Flume、DataX、Canal 等。
数据存储:HDFS、HBase、ES、ClickHouse、Kafka等。
数据计算:MapReduce、Spark、Flink 、Hive、Presto 等。
如果你现在还不了解这些技术?不要紧,先有个大概的印象就好。技术不断在进步,先理解技术产生的背景,比技术本身更重要。
简单总结如下,公司越大,岗位分得越细。
看了上面大数据细分的岗位,不难发现,这是一个比较庞大的生态,不是一两句话就能概括的,下面我尽可能的还原每个岗位的工作职责。
数据运维工程师
① 协调机器资源,采购、缩减、预算等等。
② 集群组件的维护、升级。
③ 处理集群和用户的各种问题…
④ 如果公司采购了阿里/网易这样的数据平台,就会很省心。
数据平台开发工程师
① 开发面向数据开发使用的工具,比如元数据系统、数据质量、数据采集、数据计算平台、任务调度平等。自研或者基于开源的项目进行二次开发。
② 开发面向产品和数据分析师的工具:数据报表平台、数据分析平台、数据查询平台(AdHoc)等。
③ 需要熟悉 Web 后端开发语言,比如 Java/Go等,熟悉大数据开源组件,可以进行二次开发等。
数据仓库工程师
① 离线数仓的开发,比如数仓建模、数据清洗。
② 实时数仓:实时指标的开发,使用Spark Streaing 、Flink。
③ 主要是写 SQL(离线、实时开发平台)、需要理解业务,开发业务报表。
④ 需要业务能力,根据业务数据进行建模。
数据测试工程师
① 一般公司没有这个岗位,大概率又开发工程师进行自测。
② 测试数仓开发的指标逻辑、数据的准确性。
③ 测试业务埋点上报的准确性等。
数据分析师
不同的公司也有些不同的叫法:比如阿里的BI,美团的商分
① 临时取数:比如大型活动,某一次运营活动等数据查询分析。
② 日报、周报、月报、季报、年报、报表等等。
③ 专题分析,比如用户画像分析、ROI分析、风控分析、指标体系的搭建等
④ 市场分析,比如要做竞品分析、渠道分析、行业分析等等。
⑤ 编写数据分析报告。
数据挖掘师
① 用户基础研究,用户生命周期刻画(进入、成长、成熟、衰退、流失)、用户细分模型、用户价值模型、用户活跃度模型、用户意愿度识别模型、用户偏好识别模型、用户流失预警模型、用户激活模型等。
② 个性化推荐算法:基于协同过滤(USERBASE/ITEMBASE)的推荐,基于内容推荐,基于关联规则Apriot算法推荐,基于热门地区、季节、商品、人群的推荐等。
③ 风控模型:恶意注册模型、异地识别模型、欺诈识别模型、高危会员模型;电商领域(炒信模型、刷单模型、职业差评师模型、虚假发货模型、反欺诈模型);金融领域(欺诈评分模型、征信评分模型、催收模型、虚假账单识别模型等)。
④ 文本挖掘、语义识别、图像识别,等等。
算法工程师
① 语音、图像、自然语言处理、深度学习等机器学习算法开发及优化。
② 挖掘并推进算法在业务中应用:比如美团外卖的配送算法、滴滴打车的派单算法。
③ 推荐系统、用户画像。
数据产品经理
① 协助公司各业务⽅向⼤数据应⽤产品调研、规划、执⾏。
② 数据产品的开发项目管理工作,确保项目按照需求如期完成。
以上大数据的岗位的职责,也只是冰山一角,每一家公司独一岗位的分类和职责也不太一样。但是实现数据价值的目标是一致的。
看到好多人都在说大数据工程师是 SQL Boy,也有自嘲,算法工程师自嘲为算命工程师,哈哈,简直不能再形象了。