《大数据分析原理与实践》——1.4 大数据分析的过程、技术与难点

本文涉及的产品
NLP 自学习平台,3个模型定制额度 1个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
NLP自然语言处理_高级版,每接口累计50万次
简介: 本节书摘来自华章计算机《大数据分析原理与实践》一书中的第1章,第1.4节,作者 王宏志,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

1.4 大数据分析的过程、技术与难点

1.大数据分析的过程

大数据分析的过程大致分为下面6个步骤:

(1)业务理解
最初的阶段集中在理解项目目标和从业务的角度理解需求,同时将业务知识转化为数据分析问题的定义和实现目标的初步计划上。
(2)数据理解
数据理解阶段从初始的数据收集开始,通过一些活动的处理,目的是熟悉数据,识别数据的质量问题,首次发现数据的内部属性,或是探测引起兴趣的子集去形成隐含信息的假设。
(3)数据准备
数据准备阶段包括从未处理数据中构造最终数据集的所有活动。这些数据将是模型工具的输入值。这个阶段的任务有的能执行多次,没有任何规定的顺序。任务包括表、记录和属性的选择,以及为模型工具转换和清洗数据。
(4)建模
在这个阶段,可以选择和应用不同的模型技术,模型参数被调整到最佳的数值。有些技术可以解决一类相同的数据分析问题;有些技术在数据形成上有特殊要求,因此需要经常跳回到数据准备阶段。
(5)评估
在这个阶段,已经从数据分析的角度建立了一个高质量显示的模型。在最后部署模型之前,重要的事情是彻底地评估模型,检查构造模型的步骤,确保模型可以完成业务目标。这个阶段的关键目的是确定是否有重要业务问题没有被充分考虑。在这个阶段结束后,必须达成一个数据分析结果使用的决定。
(6)部署
通常,模型的创建不是项目的结束。模型的作用是从数据中找到知识,获得的知识需要以便于用户使用的方式重新组织和展现。根据需求,这个阶段可以产生简单的报告,或是实现一个比较复杂的、可重复的数据分析过程。在很多案例中,由客户而不是数据分析人员承担部署的工作。

2.大数据分析涉及的技术

作为大数据的主要应用,大数据分析涉及的技术相当广泛,主要包括如下几类。

1)数据采集:大数据的采集是指利用多个数据库来接收发自客户端(Web、App或者传感器形式等)的数据,并且用户可以通过这些数据库来进行简单的查询和处理工作。例如,电商会使用传统的关系型数据库MySQL和Oracle等来存储每一笔事务数据,除此之外,Redis和MongoDB这样的NoSQL数据库也常用于数据的采集。阿里云的DataHub是一款数据采集产品,可为用户提供实时数据的发布和订阅功能,写入的数据可直接进行流式数据处理,也可参与后续的离线作业计算,并且DataHub同主流插件和客户端保持高度兼容。

在大数据的采集过程中,其主要特点和挑战是并发数高,因为同时有可能会有成千上万的用户来进行访问和操作,例如火车票售票网站和淘宝,它们并发的访问量在峰值时达到上百万,所以需要在采集端部署大量数据库才能支撑。并且,如何在这些数据库之间进行负载均衡和分片的确需要深入的思考和设计。ETL工具负责将分布的、异构数据源中的数据如关系数据、平面数据文件等抽取到临时中间层后进行清洗、转换、集成,最后加载到数据仓库或数据集市中,成为联机分析处理、数据挖掘的基础。

2)数据管理:对大数据进行分析的基础是对大数据进行有效的管理,使大数据“存得下、查得出”,并且为大数据的高效分析提供基本数据操作(比如Join和聚集操作等),实现数据有效管理的关键是数据组织。面向大数据管理已经提出了一系列技术。随着大数据应用越来越广泛,应用场景的多样化和数据规模的不断增加,传统的关系数据库在很多情况下难以满足要求,学术界和产业界开发出了一系列新型数据库管理系统,例如适用于处理大量数据的高访问负载以及日志系统的键值数据库(如Tokyo Cabinet/Tyrant、Redis、Voldemort、Oracle BDB)、适用于分布式大数据管理的列存储数据(如Cassandra、HBase、Riak)、适用于Web应用的文档型数据库(如CouchDB、MongoDB、SequoiaDB)、适用于社交网络和知识管理等的图形数据库(如Neo4J、InfoGrid、Infinite Graph),这些数据库统称为NoSQL。面对大数据的挑战,学术界和工业界拓展了传统的关系数据库,即NewSQL,这是对各种新的可扩展/高性能数据库的简称,这类数据库不仅具有NoSQL对海量数据的存储管理能力,还保持了传统数据库支持ACID和SQL的特性。典型的NewSQL包括VoltDB、ScaleBase、dbShards、Scalearc等。例如,阿里云分析型数据库可实现对数据的实时多维分析,百亿量级多维查询只需100毫秒。

3)基础架构:从更底层来看,对大数据进行分析还需要高性能的计算架构和存储系统。例如用于分布式计算的MapReduce计算框架、Spark计算框架,用于大规模数据协同工作的分布式文件存储HDFS等。

4)数据理解与提取:大数据的多样性体现在多个方面。在结构方面,对大数据分析很多情况下处理的数据并非传统的结构化数据,也包括多模态的半结构和非结构化数据;在语义方面,大数据的语义也有着多样性,同一含义有着多样的表达,同样的表达在不同的语境下也有着不同的含义。要对具有多样性的大数据进行有效分析,需要对数据进行深入的理解,并从结构多样、语义多样的数据中提取出可以直接进行分析的数据。这方面的技术包括自然语言处理、数据抽取等。自然语言处理是研究人与计算机交互的语言问题的一门学科。处理自然语言的关键是要让计算机“理解”自然语言,所以自然语言处理又叫作自然语言理解(Natural Language Understanding,NLU),也称为计算语言学,它是人工智能(Artificial Intelligence,AI)的核心课题之一。信息抽取 (information extraction)是把非结构化数据中包含的信息进行结构化处理,变成统一的组织形式。

5)统计分析:统计分析是指运用统计方法及与分析对象有关的知识,从定量与定性的结合上进行的研究活动。它是继统计设计、统计调查、统计整理之后的一项十分重要的工作,是在前几个阶段工作的基础上通过分析达到对研究对象更为深刻的认识。它又是在一定的选题下,针对分析方案的设计、资料的搜集和整理而展开的研究活动。系统、完善的资料是统计分析的必要条件。统计分析技术包括假设检验、显著性检验、差异分析、相关分析、T检验、方差分析、卡方分析、偏相关分析、距离分析、回归分析、简单回归分析、多元回归分析、逐步回归、回归预测与残差分析、岭回归、逻辑回归分析、曲线估计、因子分析、聚类分析、主成分分析、因子分析、快速聚类法与聚类法、判别分析、对应分析、多元对应分析(最优尺度分析)、bootstrap技术等。

6)数据挖掘:数据挖掘指的是从大量数据中通过算法搜索隐藏于其中的信息的过程,包括分类(classification)、估计(estimation)、预测(prediction)、相关性分组或关联规则(affinity grouping or association rule)、聚类(clustering)、描述和可视化(cescription and visualization)、复杂数据类型挖掘(text、Web、图形图像、视频、音频等)。与前面统计和分析过程不同的是,数据挖掘一般没有什么预先设定好的主题,主要是在现有数据上进行基于各种算法的计算,从而起到预测的效果,实现一些高级别数据分析的需求。例如,阿里云的数加产品拥有一系列机器学习工具,可基于海量数据实现对用户行为、行业走势、天气、交通的预测,产品还集成了阿里巴巴核心算法库,包括特征工程、大规模机器学习、深度学习等。

7)数据可视化:数据可视化是关于数据视觉表现形式的科学技术研究。对于大数据而言,由于其规模、高速和多样性,用户通过直接浏览来了解数据,因而,将数据进行可视化,将其表示成为人能够直接读取的形式,显得非常重要。目前,针对数据可视化已经提出了许多方法,这些方法根据其可视化的原理可以划分为基于几何的技术、面向像素的技术、基于图标的技术、基于层次的技术、基于图像的技术和分布式技术等;根据数据类型可以分为文本可视化、网络(图)可视化、时空数据可视化、多维数据可视化等。

数据可视化应用包括报表类工具(如我们熟知的Excel)、BI分析工具以及专业的数据可视化工具等。阿里云2016年发布的BI报表产品,3分钟即可完成海量数据的分析报告,产品支持多种云数据源,提供近20种可视化效果。

3.大数据分析技术的难点

大数据分析不是简单的数据分析的延伸。大数据规模大、更新速度快、来源多样等性质为大数据分析带来了一系列挑战。

1)可扩展性:由于大数据的特点之一是“规模大”,利用大规模数据可以发现诸多新知识,因而大数据分析需要考虑的首要任务之一就是使得分析算法能够支持大规模数据,在大规模数据上能够在应用所要求的时间约束内得到结果。

2)可用性:大数据分析的结果应用到实际中的前提是分析结果的可用,这里“可用”有两个方面的含义:一方面,需要结果具有高质量,如结果完整、符合现实的语义约束等;另一方面,需要结果的形式适用于实际的应用。对结果可用性的要求为大数据分析算法带来了挑战,所谓“垃圾进垃圾出”,高质量的分析结果需要高质量的数据;结果形式的高可用性需要高可用分析模型的设计。

3)领域知识的结合:大数据分析通常和具体领域密切结合,因而大数据分析的过程很自然地需要和领域知识相结合。这为大数据分析方法的设计带来了挑战:一方面,领域知识具有的多样性以及领域知识的结合导致相应大数据分析方法的多样性,需要与领域相适应的大数据分析方法;另一方面,对领域知识提出了新的要求,需要领域知识的内容和表示适用于大数据分析的过程。

4)结果的检验:有一些应用需要高可靠性的分析结果,否则会带来灾难性的后果。因而,大数据分析结果需要经过一定检验才可以真正应用。结果的检验需要对大数据分析结果需求的建模和检验的有效实现。

相关文章
|
9天前
|
机器学习/深度学习 数据可视化 大数据
机器学习与大数据分析的结合:智能决策的新引擎
机器学习与大数据分析的结合:智能决策的新引擎
85 15
|
10天前
|
数据挖掘 OLAP BI
OLAP技术:数据分析的修仙秘籍初探
OLAP(联机分析处理)是一种多维数据分析技术,能够从不同角度洞察数据,揭示隐藏的趋势和模式。它最早由Edgar F. Codd在1993年提出,旨在弥补传统OLTP系统的不足,支持复杂的数据分析与决策支持。OLAP操作包括钻取、上卷、切片、切块和旋转等,帮助用户灵活地探索数据。广泛应用于财务报告、市场分析、库存管理和预测分析等领域,是现代商业智能的重要工具。
50 7
|
11天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
44 2
|
15天前
|
SQL 分布式计算 DataWorks
DataWorks产品测评|基于DataWorks和MaxCompute产品组合实现用户画像分析
本文介绍了如何使用DataWorks和MaxCompute产品组合实现用户画像分析。首先,通过阿里云官网开通DataWorks服务并创建资源组,接着创建MaxCompute项目和数据源。随后,利用DataWorks的数据集成和数据开发模块,将业务数据同步至MaxCompute,并通过ODPS SQL完成用户画像的数据加工,最终将结果写入`ads_user_info_1d`表。文章详细记录了每一步的操作过程,包括任务开发、运行、运维操作和资源释放,帮助读者顺利完成用户画像分析。此外,还指出了文档中的一些不一致之处,并提供了相应的解决方法。
|
14天前
|
分布式计算 DataWorks 搜索推荐
用户画像分析(MaxCompute简化版)
通过本教程,您可以了解如何使用DataWorks和MaxCompute产品组合进行数仓开发与分析,并通过案例体验DataWorks数据集成、数据开发和运维中心模块的相关能力。
|
25天前
|
SQL 运维 大数据
轻量级的大数据处理技术
现代大数据应用架构中,数据中心作为核心,连接数据源与应用,承担着数据处理与服务的重要角色。然而,随着数据量的激增,数据中心面临运维复杂、体系封闭及应用间耦合性高等挑战。为缓解这些问题,一种轻量级的解决方案——esProc SPL应运而生。esProc SPL通过集成性、开放性、高性能、数据路由和敏捷性等特性,有效解决了现有架构的不足,实现了灵活高效的数据处理,特别适用于应用端的前置计算,降低了整体成本和复杂度。
|
1月前
|
机器学习/深度学习 存储 大数据
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系
在大数据时代,高维数据处理成为难题,主成分分析(PCA)作为一种有效的数据降维技术,通过线性变换将数据投影到新的坐标系,保留最大方差信息,实现数据压缩、去噪及可视化。本文详解PCA原理、步骤及其Python实现,探讨其在图像压缩、特征提取等领域的应用,并指出使用时的注意事项,旨在帮助读者掌握这一强大工具。
79 4
|
1月前
|
关系型数据库 分布式数据库 数据库
PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具
在数字化时代,企业面对海量数据的挑战,PolarDB 以其出色的性能和可扩展性,成为大数据分析的重要工具。它不仅支持高速数据读写,还通过数据分区、索引优化等策略提升分析效率,适用于电商、金融等多个行业,助力企业精准决策。
36 4
|
1月前
|
机器学习/深度学习 分布式计算 算法
【大数据分析&机器学习】分布式机器学习
本文主要介绍分布式机器学习基础知识,并介绍主流的分布式机器学习框架,结合实例介绍一些机器学习算法。
224 5
|
1月前
|
机器学习/深度学习 存储 大数据
云计算与大数据技术的融合应用
云计算与大数据技术的融合应用