㈠ 如何成为一名大数据工程师

大数据是眼下非常时髦的技术名词,与此同时自然也催生出了一些与大数据处理相关的职业,通过对数据的挖掘分析来影响企业的商业决策。

这群人在国外被叫做数据科学家(Data Scientist),这个头衔最早由D.J.Pati和Jeff Hammerbacher于2008年提出,他们后来分别成为了领英(LinkedIn)和Facebook数据科学团队的负责人。而数据科学家这个职位目前也已经在美国传统的电信、零售、金融、制造、物流、医疗、教育等行业里开始创造价值。

不过在国内,大数据的应用才刚刚萌芽,人才市场还不那么成熟,“你很难期望有一个全才来完成整个链条上的所有环节。更多公司会根据自己已有的资源和短板,招聘能和现有团队互补的人才。”领英(LinkedIn)中国商务分析及战略总监王昱尧对《第一财经周刊》说。

数据工程师是做什么的?于是每家公司对大数据工作的要求不尽相同:有的强调数据库编程、有的突出应用数学和统计学知识、有的则要求有咨询公司或投行相关的经验、有些是希望能找到懂得产品和市场的应用型人才。正因为如此,很多公司会针对自己的业务类型和团队分工,给这群与大数据打交道的人一些新的头衔和定义:数据挖掘工程师、大数据专家、数据研究员、用户分析专家等都是经常在国内公司里出现的Title,我们将其统称为“大数据工程师”。

由于国内的大数据工作还处在一个有待开发的阶段,因此能从其中挖掘出多少价值完全取决于工程师的个人能力。已经身处这个行业的专家给出了一些人才需求的大体框架,包括要有计算机编码能力、数学及统计学相关背景,当然如果能对一些特定领域或行业有比较深入的了解,对于其快速判断并抓准关键因素则更有帮助。

虽然对于一些大公司来说,拥有硕博学历的公司人是比较好的选择,不过阿里巴巴集团研究员薛贵荣强调,学历并不是最主要的因素,能有大规模处理数据的经验并且有喜欢在数据海洋中寻宝的好奇心会更适合这个工作。

除此之外,一个优秀的大数据工程师要具备一定的逻辑分析能力,并能迅速定位某个商业问题的关键属性和决定因素。“他得知道什么是相关的,哪个是重要的,使用什么样的数据是最有价值的,如何快速找到每个业务最核心的需求。”联合国网络大数据联合实验室数据科学家沈志勇说。学习能力能帮助大数据工程师快速适应不同的项目,并在短时间内成为这个领域的数据专家;沟通能力则能让他们的工作开展地更顺利,因为大数据工程师的工作主要分为两种方式:由市场部驱动和由数据分析部门驱动,前者需要常常向产品经理了解开发需求,后者则需要找运营部了解数据模型实际转化的情况。

你可以将以上这些要求看做是成为大数据工程师的努力方向,因为根据万宝瑞华管理合伙人颜莉萍(Nicole Yan)的观察,这是一个很大的人才缺口。目前国内的大数据应用多集中在互联网领域,有超过56%的企业在筹备发展大数据研究,“未来5年,94%的公司都会需要数据科学家。”颜莉萍(Nicole Yan)说。因此她也建议一些原本从事与数据工作相关的公司人可以考虑转型。

用阿里巴巴集团研究员薛贵荣的话来说,大数据工程师就是一群“玩数据”的人,玩出数据的商业价值,让数据变成生产力。大数据和传统数据的最大区别在于,它是在线的、实时的,规模海量且形式不规整,无章法可循,因此“会玩”这些数据的人就很重要。

沈志勇认为如果把大数据想象成一座不停累积的矿山,那么大数据工程师的工作就是,“第一步,定位并抽取信息所在的数据集,相当于探矿和采矿。第二步,把它变成直接可以做判断的信息,相当于冶炼。最后是应用,把数据可视化等。”

因此分析历史、预测未来、优化选择,这是大数据工程师在“玩数据”时最重要的三大任务。通过这三个工作方向,他们帮助企业做出更好的商业决策。

1.找出过去事件的特征

大数据工程师一个很重要的工作,就是通过分析数据来找出过去事件的特征。比如,腾讯的数据团队正在搭建一个数据仓库,把公司所有网络平台上数量庞大、不规整的数据信息进行梳理,总结出可供查询的特征,来支持公司各类业务对数据的需求,包括广告投放、游戏开发、社交网络等。

找出过去事件的特征,最大的作用是可以帮助企业更好地认识消费者。通过分析用户以往的行为轨迹,就能够了解这个人,并预测他的行为。“你可以知道他是什么样的人、他的年纪、兴趣爱好,是不是互联网付费用户、喜欢玩什么类型的游戏,平常喜欢在网上做什么事情。”腾讯云计算有限公司北京研发中心总经理郑立峰对《第一财经周刊》说。下一步到了业务层面,就可以针对各类人群推荐相关服务,比如手游,或是基于不同特征和需求衍生出新的业务模式,比如微信的电影票业务。

2.预测未来可能发生的事情

通过引入关键因素,大数据工程师可以预测未来的消费趋势。在阿里妈妈的营销平台上,工程师正试图通过引入气象数据来帮助淘宝卖家做生意。“比如今年夏天不热,很可能某些产品就没有去年畅销,除了空调、电扇,背心、游泳衣等都可能会受其影响。那么我们就会建立气象数据和销售数据之间的关系,找到与之相关的品类,提前警示卖家周转库存。”薛贵荣说。

在网络,沈志勇支持“网络预测”部分产品的模型研发,试图用大数据为更广泛的人群服务。已经上线的包括世界杯预测、高考预测、景点预测等。以网络景点预测为例,大数据工程师需要收集所有可能影响一段时间内景点人流量的关键因素进行预测,并为全国各个景点未来的拥挤度分级—在接下来的若干天时间里,它究竟是畅通、拥挤,还是一般拥挤?

3.找出最优化的结果

根据不同企业的业务性质,大数据工程师可以通过数据分析来达到不同的目的。

以腾讯来说,郑立峰认为能反映大数据工程师工作的最简单直接的例子就是选项测试(AB Test),即帮助产品经理在A、B两个备选方案中做出选择。在过去,决策者只能依据经验进行判断,但如今大数据工程师可以通过大范围地实时测试—比如,在社交网络产品的例子中,让一半用户看到A界面,另一半使用B界面,观察统计一段时间内的点击率和转化率,以此帮助市场部做出最终选择。

作为电商的阿里巴巴,则希望通过大数据锁定精准的人群,帮助卖家做更好的营销。“我们更期待的是你能找到这样一批人,比起现有的用户,这些人对产品更感兴趣。”薛贵荣说。一个淘宝的实例是,某人参卖家原来推广的目标人群是产妇,但工程师通过挖掘数据之间的关联性后发现,针对孕妇群体投放的营销转化率更高。

需要具备的能力

1.数学及统计学相关的背景

就我们采访过的BAT三家互联网大公司来说,对于大数据工程师的要求都是希望是统计学和数学背景的硕士或博士学历。沈志勇认为,缺乏理论背景的数据工作者,更容易进入一个技能上的危险区域(Danger Zone)—一堆数字,按照不同的数据模型和算法总能捯饬出一些结果来,但如果你不知道那代表什么,就并不是真正有意义的结果,并且那样的结果还容易误导你。“只有具备一定的理论知识,才能理解模型、复用模型甚至创新模型,来解决实际问题。”沈志勇说。

2.计算机编码能力

实际开发能力和大规模的数据处理能力是作为大数据工程师的一些必备要素。“因为许多数据的价值来自于挖掘的过程,你必须亲自动手才能发现金子的价值。”郑立峰说。

举例来说,现在人们在社交网络上所产生的许多记录都是非结构化的数据,如何从这些毫无头绪的文字、语音、图像甚至视频中攫取有意义的信息就需要大数据工程师亲自挖掘。即使在某些团队中,大数据工程师的职责以商业分析为主,但也要熟悉计算机处理大数据的方式。

3.对特定应用领域或行业的知识

在颜莉萍(Nicole Yan)看来,大数据工程师这个角色很重要的一点是,不能脱离市场,因为大数据只有和特定领域的应用结合起来才能产生价值。所以,在某个或多个垂直行业的经历能为应聘者积累对行业的认知,对于之后成为大数据工程师有很大帮助,因此这也是应聘这个岗位时较有说服力的加分项。

“他不能只是懂得数据,还要有商业头脑,不论对零售、医药、游戏还是旅游等行业,能就其中某些领域有一定的理解,最好还是与公司的业务方向一致的,”就此薛贵荣还打了个比方,“过去我们说一些奢侈品店员势利,看人一眼就知道买得起买不起,但这群人恰恰是有敏锐度的,我们认为他们是这个行业的专家。又比如对医疗行业了解的人,他在考虑医疗保险业务时,不仅会和人们医院看病的记录相关,也会考虑饮食数据,这些都是基于对该领域的了解。”

职业发展1.如何成为大数据工程师

由于目前大数据人才匮乏,对于公司来说,很难招聘到合适的人才—既要有高学历,同时最好还有大规模数据处理经验。因此很多企业会通过内部挖掘。

2014年8月,阿里巴巴举办了一个大数据竞赛,把天猫平台上的数据拿出来,去除敏感问题后,放到云计算平台上交予7000多支队伍进行比赛,比赛分为内部赛和外部赛。“通过这个方式来激励内部员工,同时也发现外部人才,让各行业的大数据工程师涌现出来。”

颜莉萍(Nicole Yan)建议,目前长期从事数据库管理、挖掘、编程工作的人,包括传统的量化分析师、Hadoop方面的工程师,以及任何在工作中需要通过数据来进行判断决策的管理者,比如某些领域的运营经理等,都可以尝试该职位,而各个领域的达人只要学会运用数据,也可以成为大数据工程师。

2.薪酬待遇

作为IT类职业中的“大熊猫”,大数据工程师的收入待遇可以说达到了同类的顶级。根据颜莉萍(Nicole Yan)的观察,国内IT、通讯、行业招聘中,有10%都是和大数据相关的,且比例还在上升。颜莉萍(Nicole Yan)表示,“大数据时代的到来很突然,在国内发展势头激进,而人才却非常有限,现在完全是供不应求的状况。”在美国,大数据工程师平均每年薪酬高达17.5万美元,而据了解,在国内顶尖互联网类公司,同一个级别大数据工程师的薪酬可能要比其他职位高20%至30%,且颇受企业重视。

3.职业发展路径

由于大数据人才数量较少,因此大多数公司的数据部门一般都是扁平化的层级模式,大致分为数据分析师、资深研究员、部门总监3个级别。大公司可能按照应用领域的维度来划分不同团队,而在小公司则需要身兼数职。有些特别强调大数据战略的互联网公司则会另设最高职位—如阿里巴巴的首席数据官。“这个职位的大部分人会往研究方向发展,成为重要数据战略人才。”颜莉萍(Nicole Yan)说。另一方面,大数据工程师对商业和产品的理解,并不亚于业务部门员工,因此也可转向产品部或市场部,乃至上升为公司的高级管理层。

㈡ 大数据分析师这个职业怎么样

近期成为月入两万的数据分析师的广告遍地都是,可能会对一些未入行的同学造成错觉。我个人感觉数据分析师这个岗位,可能近几年会消亡。

这不意味着这份工作本身不重要,而是说这份工作本身可能会转化为产品运营的一些必备技能,而不再需要单独特设人力去做这件事。或者说,不是再需要你学习SQL或者学习python,只是为了成为一名数据分析师。作为一名数据分析师,职业自身的壁垒正在不断消减,更加主动的拥抱业务,解决真正的产品和用户需求,或将成为未来的发展趋势。

数据分析师的日常工作

我们来看下预设中的分析师的一些工作场景,看看数据分析师核心的工作价值。

  • 取数

  • 数据清洗

  • 数据可视化

  • 统计分析

  • 数据方向建设和规划

  • 数据报告

  • 取数 — SQL

    很多人对数据分析师的预设是SQL达人,包括现在很多数据分析师的核心工作其实就是进行SQL取数。

    这项工作的痛点和难点在于,我们为了得到一个结果,通常需要join很多的数据集,然后整个SQL语句就会写的特别长,而且可能会出现一些问题:比如join的表可能会出现key是重复的情况,造成最终的SQL结果因为重复而变得不可用。所以我们需要专人去专门维护各种各样的数据集,他们知道每张表应该怎么用。

    但这个其实是关系型数据库遗留下来的产物——我们完全可以不需要join那么多的表。现在的分布式计算的框架,已经完全可以支持我们只保留一张大宽表,有需要的所有字段,然后所有的操作都在这张大宽表上进行,而且可以保证查询速度。这样数据分析最大的痛点已经没有了。至于你说大宽表里面存了很多重复的数据,是不是很浪费资源(关系型数据库之所以不用大宽表就是从存储空间和性能的trade-off角度考虑的):放心,分布式存储本身是不贵的,而计算效率则是由分布式计算框架进行专门优化的。现在的计算框架计算的响应速度,已经可以在大宽表上可以很快的得到结果了。相比之下,多次join操作反而可能会更慢一些。

    同时,现在很多公司的NB框架,其实都已经支持拖拽取数了,也根本不需要写SQL了。

    此外,不得不说的一点是,SQL语句本身真的不难。可能如果你自己静下心来想学,一个周末的时间肯定能搞定。而资历老的数据分析师,并不会比资历轻的数据分析师,在SQL语句的写作上有什么本质的区别。以前可能还有一些小表join大表的trick,但现在计算框架大多都已经优化过这些了。所以即使是需要写SQL的场景,本身也是没有什么难度的。

    所以,通过大宽表来解放数据分析工作的生产力。即使在一定要写SQL做join操作的时候,本身也不是一件壁垒特别高的事情。取数这件事儿,对于其他岗位的同学,就已经没那么复杂了。

    数据清洗 — Python

    数据清洗其实是很多强调python进行数据分析课程中,python部分的主要卖点。包括但不限于,怎么处理异常值,怎么从一些原始的数据中,得到我们想要的数据。

    在日常产品需求过程中,这种需求的场景其实很小。因为数据大部分都是自己产生的,很少会出现没有预设到的极端值或者异常情况。如果有的话,一般就是生产数据的同学代码写的有bug,这种发现了之后修复代码bug就行。

    数据清洗在工作场景的应用在于落表——就是把原始数据变成上面提到的,可以通过SQL提取的hive表。这个工作是需要懂代码的同学去支持的,他们负责数据的产出,包括数据的准确性,数据的延时性(不能太晚产出)等等。前文提到的生成大宽表,其实也可以是他们的工作。这其中就涉及到一些代码的效率优化问题,这个就不是简单懂一点python可以搞定的了,可能涉及到一些数据压缩格式的转化,比如Json/Proto buffer到hive表的转化,还有一些计算框架层面的调优,比如spark设置什么样的参数,以及怎么样存储可以更好的提升查询速度。

    所以这部分工作一般是由懂代码的同学完成的。可能数据团队会有比较少数的同学,管理支持全公司的基础表的生成。

    数据可视化 — Tableau

    很多之前在数据分析做实习的同学,主要的工作内容就是在一个商业化的软件(比如Tableau)上,做一些统计报表。这样可以通过这些数据报表,可以很方便的查看到所属业务的一些关键指标。这些商业软件通常都比较难用,比如可能需要先预计算一下才能输出结果;而且不太好做自定义功能的开发。稍微复杂一点的需求场景,可能就需要一个专门的同学捣鼓一阵,才能输出最终的统计报表。

    现在有更先进的套路了。

    首先可视化。很多公司打通了前端和后端的数据,这样就可以通过网页查询原始的数据库得到数据结果。而现在很多优秀的前端可视化插件,已经可以提供非常丰富的统计图形的支持。而且因为代码是开源的,可以根据公司的需求场景进行针对性的开发,公司可以再辅以配置一些更加用户友好的操作界面,这样一些复杂需求也有了简单拖拽实现的可能。而且这些前端js代码都是免费的!对于公司来说也能省去一笔商业公司的采买成本。

    其次很多商业软件,都是针对小数据集场景设计的。在一些大数据集的场景,一般需要先预计算一些中间表。而如果自己公司定制化开发的前端展示结果,就可以根据需要自主设置计算逻辑和配置计算资源,先在后端进行预计算,前端最终只是作为一个结果展示模块,把结果展示和需要的预计算进行解耦。这样就省去了很多中间表的产出,也会更加快速的得到想要的业务指标,快速迭代。

    所以可视化数据的工作量也会大大减少。而且会变成一个人人都可以操作,快速得到结果的场景。

    统计分析

    对于一名数据分析师而言,统计学分析可能是一块知识性的壁垒。尤其是在现在ab实验成为互联网公司迭代标配的今天。需要把实验设计的那套理论应用起来:比如ab实验进行后的显著性检验,多少样本量的数据才能让这个结论有效可信呢。

    但是,你我都知道,经典的统计分析其实是一个非常套路性的工作。其实就是套公式,对应到代码层面,可能也就一两行就搞定了。这个代码的统计分析结果可以作为ab平台的指标展示在最终的ab结果上,大家看一眼就能明白。即使是对那些可能不知道显著性是什么意思的人,你可以跟他简单说,显著了才有效,不显著就别管。

    这么一想是不是其实不怎么需要投入额外的人力进行分析?

    其他数据相关的工作

    数据层面的规划和设计。移动互联网刚刚兴起的时候,可能那时候数据分析师需要对每一个数据怎么来设计一套方案,包括原始的埋点怎么样,又要怎么统计出想要的结果。但现在大部分已经过了快速迭代的时代了,新产品的埋点添加可以参考老产品,这就意味着形成套路了。而一旦形成套路,其实就意味着可以通过程序直接完成或者辅助完成。

    数据报告。那就真的是一件人人都能做的事情了,试想谁没在大学期间做过数据报告呢?以前只是因为数据都是从分析师产出的,而如果人人都能取到数据的话,数据报告是不是也不是一个真需求呢?

    在我看来,数据分析师这个岗位的天花板和其他岗位相比起来是比较低的。可能工作一两年之后,从岗位本身就已经学不到什么额外的工作知识了。主要的工作内容技术含量不是特别高,技能性的更多的是一些可以简单上手的东西,而且做的时间长了,在这些技能性的事情上得到的积累并不是很多。

    数据分析师更像是一个在时代变迁过程中的一个中间岗位:我们从一个基本没有数据的时代,突然进入了一个数据极大丰富的时代,在这个过程中,我们都知道重视数据。那怎么能够利用这个数据呢?可能之前的那一帮人并没有太多的经验,于是老板就招一些人专门来研究一下它,同时做一些底层数据的优化。

    经过多年的迭代,现在互联网行业的每个人都知道数据的价值,也大概知道了什么样的数据是重要的,怎样可以更好的挖掘数据背后的价值。同时底层的基础设施也已经支持可以让一个之前没有经验的同学可以快速的上手得到自己想要的关键数据。这时候对于一个职业数据分析师来说,他的任务就已经完成了。就如同当人人都会讲英语的时候,翻译其实也就没有存在的价值了。

    此后的数据分析工作,可能不再是一些单独的人做的工作。它会变成一个产品和运营的基础工具,而且足够简单,没有取数的门槛。只是产品运营怎么样可以更好的认识数据,通过数据本身更好的配合产品运营的工作,这已经超脱我们一般理解的数据分析师的工作了,而是一个产品运营分内的工作。

    对于那些已经在从事数据分析师岗位的同学来说,建议不要把心思全部投入到数据分析的本职工作上,以完成任务为核心KPI。而是不要给自己设置边界,多从用户的角度思考问题,不要因为是产品运营的工作就不去做了。数据分析师这个职业发展到这个阶段,要么做更加底层的数据建设,要么拥抱业务,最大化的发掘数据背后背后的价值。不要再死守着数据分析的“固有技能”沾沾自喜了。

    数据本身的价值是无穷的,作为数据分析师,你们已经先人一步的掌握它了,要有先发优势。你们最接近数据的人,是最可能发现用户的宝藏的人。

㈢ 数据分析和大数据平台网站有哪些

无需编程即可用来数据分析的工具/软件,推荐几个:
Excel / Spreadsheet:http://www.openoffice.org/download/
Trifacta:https://www.trifacta.com/start-wrangling/
Rapid Miner:https://rapidminer.com/
Rattle GUI:https://cran.r-project.org/bin/windows/base/
Orange:http://orange.biolab.si/
Tableau Public:https://public.tableau.com/s/
Talend:http://openrefine.org/download.html