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

本文涉及的产品
NLP自然语言处理_基础版,每接口每天50万次
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
NLP 自学习平台,3个模型定制额度 1个月
简介: 本节书摘来自华章计算机《大数据分析原理与实践》一书中的第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)结果的检验:有一些应用需要高可靠性的分析结果,否则会带来灾难性的后果。因而,大数据分析结果需要经过一定检验才可以真正应用。结果的检验需要对大数据分析结果需求的建模和检验的有效实现。

相关文章
|
7天前
|
存储 大数据 测试技术
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
在大数据环境中,数据存储格式直接影响查询性能和成本。本文探讨了 Parquet、Avro 和 ORC 三种格式在 Google Cloud Platform (GCP) 上的表现。Parquet 和 ORC 作为列式存储格式,在压缩和读取效率方面表现优异,尤其适合分析工作负载;Avro 则适用于需要快速写入和架构演化的场景。通过对不同查询类型(如 SELECT、过滤、聚合和联接)的基准测试,本文提供了在各种使用案例中选择最优存储格式的建议。研究结果显示,Parquet 和 ORC 在读取密集型任务中更高效,而 Avro 更适合写入密集型任务。正确选择存储格式有助于显著降低成本并提升查询性能。
39 1
用于大数据分析的数据存储格式:Parquet、Avro 和 ORC 的性能和成本影响
|
4天前
|
存储 分布式计算 Hadoop
大数据分析的工具
大数据是一个含义广泛的术语,是指数据集,如此庞大而复杂的,他们需要专门设计的硬件和软件工具进行处理。该数据集通常是万亿或EB的大小。这些数据集收集自各种各样的来源:传感器,气候信息,公开的信息,如杂志,报纸,文章。大数据产生的其他例子包括购买交易记录,网络日志,病历,军事监控,视频和图像档案,及大型电子商务。
19 8
|
14天前
|
存储 大数据 数据挖掘
【数据新纪元】Apache Doris:重塑实时分析性能,解锁大数据处理新速度,引爆数据价值潜能!
【9月更文挑战第5天】Apache Doris以其卓越的性能、灵活的架构和高效的数据处理能力,正在重塑实时分析的性能极限,解锁大数据处理的新速度,引爆数据价值的无限潜能。在未来的发展中,我们有理由相信Apache Doris将继续引领数据处理的潮流,为企业提供更快速、更准确、更智能的数据洞察和决策支持。让我们携手并进,共同探索数据新纪元的无限可能!
59 11
|
10天前
|
机器学习/深度学习 人工智能 数据挖掘
数据分析师是在多个行业中专门从事数据搜集、整理和分析的专业人员
数据分析师是在多个行业中专门从事数据搜集、整理和分析的专业人员
19 3
|
20天前
|
大数据 机器人 数据挖掘
这个云ETL工具配合Python轻松实现大数据集分析,附案例
这个云ETL工具配合Python轻松实现大数据集分析,附案例
|
18天前
|
前端开发 Java JSON
Struts 2携手AngularJS与React:探索企业级后端与现代前端框架的完美融合之道
【8月更文挑战第31天】随着Web应用复杂性的提升,前端技术日新月异。AngularJS和React作为主流前端框架,凭借强大的数据绑定和组件化能力,显著提升了开发动态及交互式Web应用的效率。同时,Struts 2 以其出色的性能和丰富的功能,成为众多Java开发者构建企业级应用的首选后端框架。本文探讨了如何将 Struts 2 与 AngularJS 和 React 整合,以充分发挥前后端各自优势,构建更强大、灵活的 Web 应用。
32 0
|
18天前
|
大数据 数据处理 分布式计算
JSF 逆袭大数据江湖!看前端框架如何挑战数据处理极限?揭秘这场技术与勇气的较量!
【8月更文挑战第31天】在信息爆炸时代,大数据已成为企业和政府决策的关键。JavaServer Faces(JSF)作为标准的 Java Web 框架,如何与大数据技术结合,高效处理大规模数据集?本文探讨大数据的挑战与机遇,介绍 JSF 与 Hadoop、Apache Spark 等技术的融合,展示其实现高效数据存储和处理的潜力,并提供示例代码,助您构建强大的大数据系统。
25 0
|
19天前
|
SQL 数据采集 算法
【电商数据分析利器】SQL实战项目大揭秘:手把手教你构建用户行为分析系统,从数据建模到精准营销的全方位指南!
【8月更文挑战第31天】随着电商行业的快速发展,用户行为分析的重要性日益凸显。本实战项目将指导你使用 SQL 构建电商平台用户行为分析系统,涵盖数据建模、采集、处理与分析等环节。文章详细介绍了数据库设计、测试数据插入及多种行为分析方法,如购买频次统计、商品销售排名、用户活跃时间段分析和留存率计算,帮助电商企业深入了解用户行为并优化业务策略。通过这些步骤,你将掌握利用 SQL 进行大数据分析的关键技术。
33 0
|
19天前
|
存储 分布式计算 数据处理
MaxCompute 的成本效益分析与优化策略
【8月更文第31天】随着云计算技术的发展,越来越多的企业选择将数据处理和分析任务迁移到云端。阿里云的 MaxCompute 是一款专为海量数据设计的大规模数据仓库平台,它不仅提供了强大的数据处理能力,还简化了数据管理的工作流程。然而,在享受这些便利的同时,企业也需要考虑如何有效地控制成本,确保资源得到最优利用。本文将探讨如何评估 MaxCompute 的使用成本,并提出一些优化策略以降低费用,提高资源利用率。
17 0
|
19天前
|
消息中间件 分布式计算 Kafka
MaxCompute 在实时数据分析中的角色
【8月更文第31天】随着大数据应用场景的不断扩展,对数据处理速度的要求越来越高,传统的批处理模式已经难以满足某些业务对实时性的需求。在这种背景下,实时数据处理成为了大数据领域的研究热点之一。阿里云的 MaxCompute 虽然主要用于离线数据处理,但通过与其他实时流处理系统(如 Apache Flink 或 Kafka Streams)的集成,也可以参与到实时数据分析中。本文将探讨 MaxCompute 在实时数据分析中的角色,并介绍如何将 MaxCompute 与 Flink 结合使用。
31 0

热门文章

最新文章