大数据(Big Data)其实已经兴起好些年了,只是随着无处不在的传感器、无处不在的数据埋点,获取数据变得越来越容易、量越来越大、内容越来越多样化,于是原来传统的数据领域不得不思考重新换一个平台可以处理和使用逐渐庞大数据量的新平台。
原来的数据应用主要是从现有数据中的数据中进行采样,再做数据挖掘和分析,发掘出数据中的潜在规则用以预测或决策,然而采样始终会舍弃一部分数据,即会丢失一部分潜在规则和价值,随着数据量和内容的不断累积,企业越来越重视在数据应用时可以使用全量数据,可以尽可能的覆盖所有潜在规则从而发掘出可能想到或从未想到的价值。
大数据领域可以分为以下几个主要方向:
1 数据平台
Data Platform,构建、维护稳定、安全的大数据平台,按需设计大数据架构,调研选型大数据技术产品、方案,实施部署上线。对于大数据领域涉及到的大多数技术都需要求有所了解,并精通给一部分,具备分布式系统的只是背景。
2 数据采集
Data Collecting,从Web/Sensor/RDBMS等渠道获取数据,为大数据平台提供数据来源,如Apache Nutch是开源的分布式数据采集组件,大家熟知的Python爬虫框架ScraPy等。
3 数据仓库
Data Warehouse,有点类似于传统的数据仓库工作内容:设计数仓层级结构、ETL、进行数据建模,但基于的平台不一样,在大数据时代,数据仓库大多基于大数据技术实现,例如Hive就是基于Hadoop的数据仓库。
4 数据处理
Data Processing,完成某些特定需求中的处理或数据清洗,在小团队中是结合在数据仓库中一起做的,以前做ETL或许是利用工具直接配置处理一些过滤项,写代码部分会比较少,如今在大数据平台上做数据处理可以利用更多的代码方式做更多样化的处理,所需技术有Hive、Hadoop、Spark等。BTW,千万不要小看数据处理,后续的数据分析、数据挖掘等工作都是基于数据处理的质量,可以说数据处理在整个流程中有特别重要的位置。
5 数据分析
Data Analysis,基于统计分析方法做数据分析:例如回归分析、方差分析等。大数据分析例如Ad-Hoc交互式分析、SQL on Hadoop的技术有:Hive 、Impala、Presto、Spark SQL,支持OLAP的技术有:Kylin。
6 数据挖掘
Data Mining,是一个比较宽泛的概念,可以直接理解为从大量数据中发现有用的信息。大数据中的数据挖掘,主要是设计并在大数据平台上实现数据挖掘算法:分类算法、聚类算法、关联分析等。
7 机器学习
Machine Learning,与数据挖掘经常一起讨论,甚至被认为是同一事物。机器学习是一个计算机与统计学交叉的学科,基本目标是学习一个x->y的函数(映射),来做分类或者回归的工作。之所以经常和数据挖掘合在一起讲是因为现在好多数据挖掘的工作是通过机器学习提供的算法工具实现的,例如个性化推荐,是通过机器学习的一些算法分析平台上的各种购买,浏览和收藏日志,得到一个推荐模型,来预测你喜欢的商品。
8 深度学习
Deep Learning,是机器学习里面的一个topic(非常火的Topic),从深度学习的内容来看其本身是神经网络算法的衍生,在图像、语音、自然语言等分类和识别上取得了非常好的效果,大部分的工作是在调参。不知道大家有否发现现在的Google 翻译比以前的要准确很多,因为Google在去年底将其Google 翻译的核心从原来基于统计的方法换成了基于神经网络的方法~So~
9 数据可视化
Data Visualization,将分析、挖掘后的高价值数据用比较优美、灵活的方式展现在老板、客户、用户面前,更多的是一些前端的东西,maybe要求一定的美学知识。结合使用者的喜好,以最恰当的方式呈现数据价值。
10 数据应用
Data Application,从以上的每个部分可以衍生出的应用,例如广告精准投放、个性化推荐、用户画像等。