学大数据需要具备那些技能

上传人:ldj****22 文档编号:35672761 上传时间:2018-03-18 格式:PDF 页数:6 大小:258.12KB
返回 下载 相关 举报
学大数据需要具备那些技能_第1页
第1页 / 共6页
学大数据需要具备那些技能_第2页
第2页 / 共6页
学大数据需要具备那些技能_第3页
第3页 / 共6页
学大数据需要具备那些技能_第4页
第4页 / 共6页
学大数据需要具备那些技能_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《学大数据需要具备那些技能》由会员分享,可在线阅读,更多相关《学大数据需要具备那些技能(6页珍藏版)》请在金锄头文库上搜索。

1、 学大数据需要具备那些技能学大数据需要具备那些技能 目前很火, 数据源头, 各种炫酷新技术, 搭建 Hadoop、 Hive、 Spark、 Kylin、 Druid、Beam,前提是你要懂 Java,很多平台都是用 Java 开发的。 很多企业都把数据采集下来了,对于传统的业务数据,用传统的数据是完全 够用的, 可是对于用户行为和点击行为这些数据或者很多非结构化的数据, 文本、 图像和文本类的,由于数据量太大,很多公司都不知道怎么进行存储。 这里面要解决的是实时、近实时和离线的大数据框架如何搭建,各数据流之 间如何耦合和解耦,如何进行容灾、平台稳定、可用是需要重点考虑的。 最近两三年中,这块

2、人才还是很稀缺的,因为大数据概念炒作的这么厉害, 很多企业都被忽悠说,我们也来开始进入大数据行业吧。进入的前提之一就是需 要把数据存储下来,特别是很多用户行为方面的数据,对于业务的提升比较明显 的,如果你能很好的刻画用户,那么对你的产品设计、市场营销、开发市场都是 有帮助的。现阶段,很多公司都要做第一步:存储更多的数据。这也是这块人员 流动性比较高的原因,都被高薪挖走了。 和传统的 SQL 不同的是,针对大数据量的非结构式数据,我们所想的就是: 用最廉价的成本存储数据同时能够达到容灾、扩展性高、高性能、跨域,从目前 来看,分布式已经被证明是个很好的一个方式。 另外,云端会是个很好的方向,不是每

3、个公司都养得起这么多这么贵的大数 据平台开发人员和运维人员 OPS,从事这个行业的我们要有很好的危机意识,及 时贡献出自己的价值,积极主动的学习新技术、否则就可能被淘汰了。 此外, 花点钱把数据托管给云服务提供商是对于创业公司或者一些传统的企 业来说是个很好的思路,这样能够最快速的确定数据对你的价值是什么,而不用 采购这么多的服务器、雇佣这么多的运维人员和网站开发人员。 说了以上这些, 主要是想给未来会从事这块的人或者想存储数据的公司一点 方向。我自己不做这块,体会不深,大家看看就行。 这块工作最被吐槽的一点就是:Hive 速度好慢,SQL 查询好慢,集群怎么又 挂掉了,hadoop 版本升级

4、后,怎么数据跑出来不对了等等。 因此,在这个领域内工作,需要有强大的攻坚能力,并且还需要有快速定位 和解决 bug 的能力, 因为有很多工具都是开源的。 因为是开源的, 所以你们懂得, 各种坑爹,甚至出现无法向下兼容的情况,所以需要强大的 Java 开发能力。 如果想在这块做的很好,还需要有整个系统架构的设计能力、比较的强的抗 压能力和解决问题的能力、资源收集的能力,可以打入开源社区,这样就可以随 时 follow 最新的潮流和技术。 2、数据仓库-ETL 确实做仓库的人很辛苦,单单 Oncall 就会让人望而却步。有很多数据库工 程师,晚上睡觉的时候经常被 Oncall 电话吵醒,因为数据流

5、程出问题,需要第 一时间去排查,是哪个数据源出问题,并且要立即解决,否则整个数据流程都会 受到影响。 如果数据流程受到了影响,你就可能会被大领导一言不合叫到办公室说:我 要的数据怎么还没有准备好,我的业务报表今天怎么没有发出来。 通过上面这个情景,我们可以知道:这是个很重要的岗位,因为数据流程很 重要,决定了数据从源头杂乱无章的状况,通过 ETL 之后变成了整齐的数据,这 些整齐一致性的数据可以让你很方便地把各业务的统计结果计算出来, 并且能够 统一口径。要不然就会变成有几个部门,就有几种统计结果,到时候 A 部门说业 务增长了 5%,B 部门说业务涨了 10%,OMG,到底信谁。 至少在以下

6、几点上,我觉得数据仓库人员应该要做好: 数据字典的完整性,用的人都希望能够清晰的知道这个字段的逻辑是什么。 字段要保持很好的一致性,不要同样一个字段在不同表里有不同的定义。 核心流程的稳定性,不要让每天订单主表能够使用的时间很不稳定,有的时 候很早,有的时候要中午才出来,如果不稳定就会导致使用数据的人对你很没有 信心。 仓库版本迭代不要过于频繁,要保持不同版本之间的兼容性。不要做好了仓 库 1.0,很快就把原来的推倒重来,变成了 2.0。在数据仓库中需要考虑到延续 性,主表的变动不要太频繁,否则使用的人会非常痛苦,好不容易才用习惯了 1.0 的表结构,没办法这么快进行切换。简单地说,要能向下兼

7、容。 保持各业务逻辑的统一性,不要出现同样的业务逻辑,同一个组别的人统计 出来的结果不同。原因在于共同的逻辑没有落地成通用的东西,所以导致每个人 写法不同。这点其实需要特别注意。 针对以上,这个岗位的技能要求是:不要成为仅仅会写 SQL 的人,现在工具 都很发达,如果你的技能很单一的话,那么可替代指数是非常高的,并且你自身 也没有什么成就感。这里并不是说会写 SQL 的人很 low,只是说应该多学一些技 能,否则会很危险。 仓库人员应该要常常思考,如何进行架构设计是最合理的,你要考虑是否需 要字段冗余、行存储还是列存储、字段如何扩展最有效,热数据和冷数据如何拆 分等,所以需要有架构思维。 技能

8、上,除了 SQL 熟练之外,还需要知道如何写 Transform,MapReduce, 因为有很多业务逻辑用 SQL 实现起来非常复杂,但是如果你会其他脚本语言,那 么就能给你提供便利,让你的效率提升很多。另外好的仓库人员需要写 Java 或 者 Scala,通过写 UDTF 或者 UDAF 来提升你的效率是很有必要的。 数据仓库人员也应该常常考虑自动化和工具化方面的事情, 需要很好的工具 或者模块的抽象能力,动手实现自动化的工具来提高整个组织效能。针对经常碰 到的数据倾斜问题,需要很快定位问题并进行优化。 说完了数据存储这块,接下来是数据应用的几个关键职位,在此之前,我想 说数据应用的一个最

9、关键的前提是:数据质量、数据质量、数据质量! !在每次 阐述你的观点、分析结论或者用算法的时候,都需要先检查,源头数据正确性, 否则任何结论都是伪命题。 3、数据可视化 这是个很炫的工作,最好是能懂点前端,比如 js。数据可视化人员需要有 很好的分析思维,不能为了炫技而忽视对业务的帮助程度。因为我对这个岗位客 串的不多,所以没有特别深入的感悟,不过我觉得这个岗位需要有分析的能力, 才能把可视化做好。 另外一方面来说,做数据应用的人都应该懂点数据可视化,要知道观点表达 的素材顺序是:图片表格文字,一个能够用图片来阐述的机会千万别用文字来 描述,因为这样更易于让别人理解。要知道,给大领导讲解事情的

10、时候,需要把 大领导设想成是个“数据白痴” ,这样才能把一件事情说的比较生动。 数据可视化也可以考虑自动化和工具化方面的事情,比如用 tableau、 FineBI 之类的 BI 工具替代,两者都能支持大数据和数据分析。 4、数据分析师 现在对数据分析的需求是很大的,因为大家都想着说:数据有了,但是能做 些什么呢?这就需要有数据分析师,对数据进行分析和挖掘,然后做数据应用。 对数据分析师吐槽最多的是:你分析出来的不就是正常的业务逻辑吗,还需 要你分析什么?或者是你分析的结论不对,跟我们的业务逻辑不符合。特别是: ABTest 的结果和当初设定的预期不相符合的时候,分析师会常常被拉过去说: 分析

11、一下,为什么我的 AB 实验结果不显著,里面肯定有原因的。 很多时候,宝宝的心里苦啊,你说这个转化率下降了,从数据上可以看出哪 个细分渠道下降了,至于为什么客户不下单,我们得问用户,很多时候,数据上 也体现不出来为什么,只能告诉你现状是什么。 如果你一直在写分析报告,给结论中,持续周而复始,没有直接在业务中体 现成绩的时候,数据分析师们该醒醒了,你该想想这个是你要的岗位吗? 对于数据分析师的定位:个人认为,成为优秀的数据分析师是非常难的,现 在市面上也没有多少优秀的分析师。数据分析师的技能要求,除了会数据分析、提炼结论、洞察数据背后的原因之外,还需要了解业务,懂算法。 只有这样, 当面对一个业

12、务问题时, 数据分析师们才可以针对问题抽丝剥茧, 层层递进去解决问题,再根据定位的问题进行策略的应对,比如是先做上策略进 行测试还是应用算法进行优化,用算法用在哪个场景上,能不能用算法来解决问 题。 一个优秀的数据分析师,是个精通业务和算法的全能数据科学家,不是那个 只会听从业务的需求而进行拉数据、做报表、只做分析的闲杂人等。我们都说分 析要给出结论, 优秀分析师的结论就是一个能解决问题的一揽子策略和应对措施, 同时很多需求是分析师去主动发现并通过数据来挖掘出来的。 大部分不落地的分析都是伪分析, 有一些探索性的可行性研究可以不考虑落 地, 但是其他的特定业务需求的分析都需要考虑落地,然后通过

13、实践来反推你的 作用,如此反复,才能慢慢的给你价值的肯定,同时提升你的分析技能,也只有 这样才能证明你作为分析师、数据落地者的价值。 5、数据挖掘算法 这块的话,经过这三年的摸爬滚打,感触蛮多的。体会比较深的吐槽主要有 以下几点: 一个规则搞定了,还用什么算法。 你的准确率怎么这么低?! 你的准确率可以到 99%吗? 你的推荐有价值吗?你不推荐客人也会下那个产品的订单的。 帮我做个大数据预测他想要什么? 很多时候,不同的场景对准确率的要求是不同的,所以在一定合理的场景下 和业务进行据理力争是必要,不要害怕让业务吐槽,更多的时候管理好他们的预 期。 有些场景下,推荐的价值在于长期复购率 ,所以不

14、要每次都盯着 ABTest 的转化率来说事,让客人的费力度降低也是很有前途和前景的。一个智能的产品 会让客人用起来爱不释手,虽然在这一次的转化中没有明显的差别,但是观察长 期复购率才能体现价值。特别是要区分:高频和低频产品。频次比较低的产品就 特别难体现出短期价值。 对于这个岗位的技能要求来说, 没有要求你一定要从零开始实现所有的算法, 现在有很多现成的算法包进行调用。最基本的要求是,你要知道每个场景会用到 哪个算法, 比如分类场景, 常用的分类算法就有 LR/RF/Xgboost/ET 等等, 此外, 你还要知道每个算法的有效优化参数是什么、模型效果不好的时候怎么优化。还 需要有算法的实现能

15、力,语言方面可以用 Scala/python/R/Java 等。我们常说: 工具不重要,重要的是你玩工具,不是工具玩你。 另外针对有监督式学习算法,算法工程师最好有很好的业务 sense,这样在 feature设计的时候才能更有针对性, 设计的 feature 才有可能有很好的先验性。 6、深度学习(NLP、CNN、语言识别) 这块我没具体商用过,只是动手实践过。个人感觉商业化是重点吧,特别是 大家都在观望说你的 chatbot 很有用啊,可是 siri 做了这么久,最后反响也一 般。 现在客服机器人又很火,大家又在一通吐槽说,这个上下文理解的太差了, 机器人的语义识别做的怎么这么差。谁做谁知

16、道,对于中文的语义识别,难度比 国外的难多了, 因为中文的一种否定说法有太多种变体, 你不知道我们会说哪种。 另外,常常有人吐槽说,你这个 CNN 这么复杂,我线上需要满足 100ms 内返 回,搞的这么复杂,实时调用怎么整,肯定来不及了,最后只能考虑 offline 预测了。常常说这话的人,是不会自己写底层代码的,很多时候我觉得:不是你 没有解决问题的办法,而是你没有去思考怎么解决问题,心智决定了你的产出。 整体来说,这块对个人的综合素质要求是很高的。如果你只是想简单利用现 成的 Model, 提取中间层的特征, 然后再套用其他的机器学习模型进行预测的话, 倒也能很好的解决一些现实中的公司应用,比如 yelp 的图片分类。 不过,严格来说,这个不算是做深度学习的人,因为真正玩 DL 的人,是需 要自己动手建模型,调参数,改 symbol 的,所以他们的编程能力是很强的,这 点上,我一直都高山仰止。特别是一些创业公司,对于这个岗位的编程能力要求 很高。如果你面试创业公司后没有下文了那就表示:你很优秀,但是不一定适合 我们公司,因为我们要找的编程能力

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号