0x0E 大数据职位,数据场技能(上)
01 数据场
学过物理的小伙伴,都知道世界充满了电场和磁场。了解过佛学的人,都知道世界充满了念力场与信息场,通过信息场,可以与更高一级的文明进行沟通。
有的人一出现,浑身便会散发出强大的气场。现在是数据时代,整天和数据打交道,要培养自己的数据场。开句玩笑的话,以后往人群中一站,还未开口,浑身便散发出大数据与机器学习的各种场信息,给人以满满的正能量。
说起“大数据”一词,也是真正被吵够了。连做个简单的统计也叫大数据,做个表格、画个图形出来,就叫大数据了。凡是不和“大数据”沾边,就感觉已经落伍了。其实,很多人除了知道简单的统计外,根本不了解大数据是什么。甚至连Hadoop都不知为何物,更别谈机器学习了。
大数据是一个概念也是一门技术,是在以Hadoop为代表的大数据平台框架上进行的各种数据分析技术。包括了实时数据处理、离线数据处理;还包括了数据分析,数据挖掘,和用机器学习算法进行预测分析。
概念吵着吵着就变味了。用“大数据”来代表一切,有些不太合理。目前比较合适的一个词是数据科学(Data Science),做数据科学的可以叫数据科学家。当然真正到科学家这个级别,要求是非常高的,需要有完整的数据知识体系。
也许小时候的梦想就是当科学家,现在终于不用上博士就可以实现了。虽然很多都只是自己团队或者公司封的职位。接下来,可以看看,在数据方面上,大概有哪些职位。
02 数据职位
限于个人的阅历与认识,在此只是列举其中一部分出来。
2.1 开发相关
主要有数据抓取,也即通常说的网络爬虫。需要考虑数据抓取的实时性与完整性,还有数据及时更新,数据去重等等。严格来说,和通常意义上的大数据相关性不大,主要是后端开发的一系列技术,其中也会涉及分布式的一些技术。
ETL开发,ETL为Extract、Transform和Load的缩写,即数据抽取,转换与装载。将各种来源的数据进行收集、规范和存储起来。可以是离线的方式,存储在以Hadoop为代表的大数据集群中。也可以是实时的展现在报表系统中。如果是实时的,也叫实时数据流开发,通常和Storm框架或者Spark Streaming技术相关。
Hadoop平台开发,专指以大数据框架为基础,并在此基础上进行二次开发或者数据流开发。对数据平台做开发与改进,只能是程序员的工作了,根据业务需求,对现有的平台进行改进与优化。因为是平台相关的,通常需要Java与Scala的专业程序员,这块和数据分析基本没有太大关系。
另外还有纯前端的数据可视化技术开发,或者纯运维的大数据集群管理等等。
2.2 报表分析
商业智能分析,包括报表分析,运营或者销售分析,这一块以Excell、SPSS和R为代表。主要是指对针对具体业务,对现有的数据进行统计分析,期待从中发现一些规律与趋势。
数据分析报表,也是最常用的数据分析师职位的一些工作,通常产出以报表为主。这块很多时候会与运营部门的需求相关,技术上主要以成熟的工具为主。
当数据量一大,就会涉及在集群环境下的分析,分析师通常很熟悉SQL,这也是构建于Hadoop之上的Hive能被大众熟悉的原因。
除了报表统计外,还需要对数据的有很强的解读能力,能分析和解读出一些现象产生的原因,同时需要针对这些问题,提出一些可能的应对方案,以便对业务策略或者商业方向上有更多的指导。
一些专业领域分析,如网络安全分析,金融领域分析。这些领域的分析,通常需要用领域知识,深入现象背后去挖掘出产生的原因,不仅要具有很强的分析能力,也需要很强的领域知识。
2.3 算法挖掘
做为数据科学中的重头戏,便是数据挖掘和机器学习了。在线电商中的个性推荐技术,商业与银行中的欺骗检测,智能手机中语音识别(Siri),机器翻译,图像识别等等。
涉及大量机器学习算法,包括分类、聚类和个性推荐等常用数据挖掘技术。也包括数据分析的很多基础,和数据分析偏重的报表产出并不同,并不强调产出大量的报表,通常是在现有数据基础上的产出新数据,用于服务业务系统。
还可以推广到人工智能,其中涉及大量的数据处理与挖掘技术。比如机器人,无人驾驶,总之是尽量的在某些领域达到或者超过人类。人类能处理如下内容:
Number: 数据(数)
NLP: 自然语言处理(文字)
Pic: 图像处理(图片)
Voice: 语音识别(语音)
Video: 视频处理(视频)
个性推荐: (集体智慧与社交化)
其中会用到大量的机器学习算法,包括深度学习,从而达到服务人类的目的。
03 生态与周边
关于数据的统计、分析与挖掘,这些概念的侧重点不一样。数据统计,利用统计学的知识,产出数据和报表;数据分析,除了产出数据和报表外,还需要分析其中原因,最好能找出对应的策略;数据挖掘,需要在数据分析的基础上,发现新的,有价值的知识及潜在的规律。如果只是对原有的数据进行统计分析,而没有对未知的事物进行预测,是不算数据挖掘。
数据相关的职位各种各样,我们要构建数据场时,抽取其中的各种技能出来,组成自己的技能表。最近读到一篇文章:《机器学习职位需要的七个关键技能》
英文原文地址:
http://bigdata-madesimple.com/7-key-skills-required-for-machine-learning-jobs/
中文翻译地址:
http://www.36dsj.com/archives/29515?utm_source=tuicool&utm_medium=referral
文章描述了机器学习需要的七个技能,以及需要这些技能的原因,主要技能如下:
- 编程语言(Python/C++/R/Java);
- 概率与统计;
- 应用数学与算法;
- 分布式计算;
- Unix/Linux工具集;
- 高级信号处理技术(特征提取);
- 大量阅读,适应快速变化,更新自己;
在下一篇文章中,我将描述我所认识的建立数据场的七大技能,欢迎继续关注。