大数据与机器学习:实践方法与行业案例.1.1 数据的基本形态

简介:

数据与平台篇

(Data & Infrastructures)

迟序之数,非出神怪,有形可检,有数可推。

—祖冲之

数学是知识的工具,亦是其他知识工具的泉源。所有研究顺序和度量的科学均和数学有关。

—笛卡儿

 

对于大部分非计算机专业出身的分析人员和业务人员来说,数据库领域的专业术语简直让人抓狂,非要搞得那么高深吗?大可不必。

数据科学家是数据的应用者,以最大限度来提炼数据价值为目的,不必像数据仓库开发者那样对数据的存储、结构以及数据仓库的内生技术一清二楚,但应该站在找到数据、拼接数据、使用数据的角度,大体了解数据的分布、处理逻辑,以便为分析快速地准备素材。

 

第1章

数据与数据平台

合抱之木,生于毫末;九层之台,起于垒土;千里之行,始于足下。

—《老子》

世界的本质是数。

—毕达哥拉斯

数据时时刻刻在伴随着我们的工作和生活,就像空气围绕着我们一样,以致于我们常常忽略了它的存在。但如果你立志做一个崇尚数据的人,静下心来像科学家研究空气一样研究数据,就会发现数据为我们认知事物打开了一条全新的途径。

可以通过数据认识自身:人类全身的肌肉大约有639块,由60亿条肌纤维构成,而起着重要作用的大脑则由140亿个细胞构成。

可以通过数据描述我们的工作:周一上午10:00~11:30召开会议,讨论公司第三季度的销售目标。

可以通过数据描述我们的行为:花费6088元购买一台iPhone 6手机,中速游泳60分钟消耗约1000千卡的热量。

还可以通过数据认识我们所处的环境:现在时间是14:00,当前温度为28℃,上个月的CPI同比上涨1.4%,蔬菜和水果价格上涨了6.7%。

甚至可以通过数据认识遥不可及的物体:太阳直径为1 392 000公里,表面温度达57 809开尔文……数据让我们认识了世间万物,那么我们该如何认识数据本身呢?

数据的本质是一个十分深奥且宽泛的话题,甚至带有哲学的意味。作为技术类书籍,本书不尝试从哲学的角度研究数据,而是基于实践,从思维和技术手段出发来认识、理解、处理并分析周围的数据。为了更加具体,本书研究的数据定位于企业经营数据。

本章首先将从数据的基本形态入手,介绍企业中数据的来源和表现形态;然后介绍与之相关的数据平台,并简单介绍两类应用系统。在着手处理数据之前,让我们先对数据有一个清晰的认识。


1.1 数据的基本形态


我们不是自然科学家,但是可以借鉴自然科学的思路来看待数据问题。问题是数据具有形态吗?虽然数据并不具有固态、液态或气态等形态,但是可以根据需要为数据定义属于自己的专属形态。

一旦为数据赋予了恰当的形态,并在一定范围内(比如在一个公司内部)达成共识,形成对数据的系统化认识,就可以基于这些数据形态提出相应的管理和使用方案,提升数据的效率和价值。

一般情况下,对于企业经营中产生的数据,可以定义为三种形态:生产数据、原始数据和分析数据。这些数据形态的产生,是基于企业应用系统所在的生产环境和分析环境而存在的,在深入讨论数据形态之前,我们先来熟悉一下数据所在的环境。

1.1.1 数据环境与数据形态

数据环境是指数据存储、处理、转换所处的物理环境,常见的数据环境有生产环境、分析环境和测试环境。

生产环境是生产应用系统实时运行所在的环境,而生产应用系统则是一系列业务逻辑的组合。我们可以把生产环境想象成人的身体,生产应用系统就是人体中的各个系统(消化系统、呼吸系统等),业务逻辑则是这些系统中的“经络”,而数据便是运行于经络之中的“气血”。数据从“经络”中的一个“穴位”流转到另一个“穴位”,并在“流淌”中发生变化,所以,生产环境中的数据是“动态变换”的数据,我们称为生产数据。

分析环境是与生产环境物理解耦的一个数据环境。在生产环境中,由于数据总是处于不停变化中,这些数据的变化将直接反映为业务逻辑结果的变化,因此不应该尝试在生产环境中对数据进行分析处理。为了不影响生产环境的正常运行,需要将生产环境中的“动态”数据的快照保存下来(例如每日凌晨将时间戳为昨日的数据导出),这些数据快照是“静态”的,我们称为分析数据,保存分析数据的物理环境即我们所说的分析环境。

在实际中,还有另外一个环境,即测试环境。测试环境中的数据也是独立于生产环境和分析环境的,由于测试环境的数据通常不是有效的数据,因此本书不关注测试环境的数据。

至此,根据数据所处的环境,我们将数据定义为三种基本形态:生产数据、原始数据和分析数据。

生产数据存在于生产环境之中,分析数据存在于分析环境之中。此外,在生产数据和分析数据之间,还存在一种过渡形态的数据,即原始数据。图1-1展示了数据环境及其对应的数据形态。

 

图1-1 数据环境及其对应的数据形态

注意,图1-1中所示的原始数据,既不属于生产环境也不属于分析环境,这意味着它不直接用于生产,也不直接用于分析。原始数据作为生产数据到分析数据的中间形态存在,本书随后的章节将进一步讨论原始数据的相关问题。

1.1.2 生产数据

生产数据是应用系统中在线使用的数据,它可能是一个生产系统的生产环境数据库中的数据,比如在一个P2P借贷平台的系统中,用户进行注册、充值、投资等行为产生的数据将被记录到生产环境数据库中,这些数据即为生产数据。

生产数据是动态的,会随着业务应用的变化而变化,比如用户账户余额数据,会随着用户投资的变化而变化。任何存在于生产环境中的数据,都在时刻准备发生改变,只不过有些生产数据的变化频率特别低而已,比如用户的年龄信息。

正常情况下,数据分析师并不直接接触生产数据,但需要注意的是,有些生产数据是从分析数据而来的。比如用户标签数据,它本身是从分析数据构建的,属于分析数据。但这些标签数据一旦用于应用系统,例如作为推荐系统的底层数据,即转化为生产数据,这种情况下,应用系统输出结果的质量将受到分析数据的直接影响。

1.1.3 原始数据

由于生产数据是动态的数据,而过去大量的分析工具和分析方法很难处理动态改变的数据(流处理已经改变了这种情况)。为了在不影响生产应用系统的情况下分析和处理这些数据,我们需要将这些数据从生产系统解耦。

从生产系统解耦的数据即是原始数据。数据解耦的过程一般包括数据脱敏(如屏蔽电话号码、去除住宅详细信息等)、信息筛选(抛弃不需要的字段)、批量导出(如在T日凌晨批量导出T-1日的交易明细数据)等。

原始数据可以以多种形式存在,例如存储在生产数据库备库中,或者以文本文件的格式存放在文件服务器中。无论以何种形式存在,原始数据都应该独立于生产环境和分析环境,这可以避免分析环境对生产环境的干扰。

存放这些原始数据的地方,我们称为数据缓冲区。在很多企业中,数据缓冲区和原始数据并未得到足够重视,它们大多为了前期的方便,省略了数据缓冲区和原始数据形态,就像图1-2所示的那样。

显然,数据直连的方式让生产环境直接暴露在分析环境之上,两者之间的ETL(Extract-Transform-Load)过程将对双方的性能造成影响。随着数据量的增加,这可能会带来数据管理和应用上的灾难。

 

图1-2 省略数据缓冲区的数据直连

本书极力推荐图1-1所示的方式,虽然它比图1-2要复杂,但在数据管理和可扩展性方面有非常大的优势。后面的第2.1节中会深入讨论该问题。

1.1.4 分析数据

分析数据是对原始数据进行属性筛选、标准统一之后,使用优化存储的方式存放于分析环境中的数据。从原始数据到分析数据的关键步骤在于ETL过程。

比如,原始数据中的一张表A可能包含100个字段,经过ETL之后,得到了一个包含45个字段的表B,其中的日期格式进行了统一,且滤除了一些特殊字符,并将表B存放于分析环境数据平台的关系数据库Oracle中。这样,原始数据中的表A完成了属性筛选和标准统一(日期格式),转换成了分析数据表B。

另一种需要标准统一的情景根源于原始数据本身的多样性。由于原始数据来源于不同的生产应用系统,其数据格式及字段含义均存在差异。例如,原始数据存放的格式可能有Windows文本、Linux文本、主机格式文本、数据库文件等多种形式;字段含义上的差异则更加多样,比如,由原始数据文件A中性别字段使用1表示男性、2表示女性,而原始数据文件B中性别字段使用M表示男性、F表示女性。通过标准统一,可以约定所有的分析数据统一使用1表示男性、2表示女性。数据统一可为数据分析和数据应用铺平道路。

经过ETL之后的分析数据,为了进一步提高存储效率和读取效率,需要使用技术手段进行存储优化,比如创建索引、进行分区、分表存储、使用大数据平台等。

通过对原始数据的提炼和优化,分析数据具有了信息集中、标准统一、分析效率高等特点,便于数据进一步的分析和应用。

分析数据需要依托数据平台而存在,数据平台的性能对其上的数据分析和应用有决定性影响。数据平台是分析环境的基础,在随后的“数据平台”章节中,我们将详细介绍。


相关实践学习
简单用户画像分析
本场景主要介绍基于海量日志数据进行简单用户画像分析为背景,如何通过使用DataWorks完成数据采集 、加工数据、配置数据质量监控和数据可视化展现等任务。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
1月前
|
存储 消息中间件 大数据
Go语言在大数据处理中的实际应用与案例分析
【2月更文挑战第22天】本文深入探讨了Go语言在大数据处理中的实际应用,通过案例分析展示了Go语言在处理大数据时的优势和实践效果。文章首先介绍了大数据处理的挑战与需求,然后详细分析了Go语言在大数据处理中的适用性和核心技术,最后通过具体案例展示了Go语言在大数据处理中的实际应用。
|
1月前
|
数据采集 机器学习/深度学习 存储
【机器学习】数据清洗——基于Numpy库的方法删除重复点
【机器学习】数据清洗——基于Numpy库的方法删除重复点
71 1
|
1月前
|
数据采集 机器学习/深度学习 Python
【机器学习】数据清洗——基于Pandas库的方法删除重复点
【机器学习】数据清洗——基于Pandas库的方法删除重复点
45 1
|
1月前
|
机器学习/深度学习 数据采集 存储
【机器学习】机器学习流程之收集数据
【机器学习】机器学习流程之收集数据
46 1
|
1月前
|
机器学习/深度学习 数据采集 传感器
机器学习开发流程和用到的数据介绍
机器学习开发流程和用到的数据介绍
|
2月前
|
数据采集 监控 算法
利用大数据和API优化电商决策:商品性能分析实践
在数据驱动的电子商务时代,大数据分析已成为企业提升运营效率、增强市场竞争力的关键工具。通过精确收集和分析商品性能数据,企业能够洞察市场趋势,实现库存优化,提升顾客满意度,并显著增加销售额。本文将探讨如何通过API收集商品数据,并将这些数据转化为对电商平台有价值的洞察。
|
1月前
|
机器学习/深度学习 算法 数据可视化
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
实现机器学习算法时,特征选择是非常重要的一步,你有哪些推荐的方法?
26 1
|
2月前
|
存储 数据可视化 数据管理
基于阿里云服务的数据平台架构实践
本文主要介绍基于阿里云大数据组件服务,对企业进行大数据平台建设的架构实践。
703 0
|
1月前
|
存储 数据处理 Apache
万字长文 | 泰康人寿基于 Apache Hudi 构建湖仓一体平台的应用实践
万字长文 | 泰康人寿基于 Apache Hudi 构建湖仓一体平台的应用实践
69 0
|
1月前
|
机器学习/深度学习 数据采集 存储
使用机器学习算法进行文本分类的方法与实践
本文将介绍使用机器学习算法进行文本分类的方法与实践。通过分析文本特征、选择合适的机器学习算法和构建有效的训练模型,可以实现准确和高效的文本分类任务。我们还将探讨如何处理文本数据预处理、特征提取和模型评估等方面的关键问题,以帮助读者更好地应用机器学习技术解决文本分类挑战。

热门文章

最新文章