
PySpark作为Apache Spark的Python API,融合Python易用性与Spark分布式计算能力,专为大规模数据处理设计。支持批处理、流计算、机器学习 (MLlib) 和图计算 (GraphX),通过内存计算与弹性数据集 (RDD) 优化性能,提供DataFrame API和SQL接口简化结构化数据处理。可跨Hadoop/云平台部署,适用于ETL、日志分析、实时推荐等场景,具备TB级数据横向扩展能力,并与Pandas等Python工具无缝集成,兼顾高效分析与易用性。 【GitCode】专栏资源保存在我的GitCode仓库:https://gitcode.com/Morse_Chen/PyTorch_deep_learning。
大数据又被称为海量数据,目前学界对大数据的定义尚未统一。
大数据4V特性如下表。
表1 大数据4V特性
特征 | 说明 |
|---|---|
Volume(数量) | 当前典型计算机硬盘容量为TB量级,PB是大数据的临界点。据IDC预测,到2025年全球数据量将达到175ZB。 |
Variety(形式) | 数据类型包括结构化数据、半结构化和非结构化数据,如XML、邮件、博客、图片、音频、视频等。多样的数据类型对数据的整合、存储、分析和处理提出了更高要求。 |
Velocity(处理速度) | 现代传感技术、网络技术和计算机技术的发展使得数据的产生、存储、分析和处理的速度非常快。业界对大数据的处理能力有“1秒定律”的要求,即从数据产生到获取价值的时间应尽可能短。 |
Value(价值) | 由于大数据的规模不断扩大,单位数据的价值密度在降低,但整体数据的价值却在提高。例如,监控视频中可能只有一两秒的数据是有用的。许多学者和专家将大数据比作黄金和石油,表示其蕴含的巨大商业价值。 |
大数据以大体量、多样性、快速产生和处理以及低价值密度为主要特征。需要新的体系架构、技术、算法和分析方法来处理大数据。大数据是一个动态的定义,不同行业有不同的理解,衡量标准会随着技术的进步而改变。
什么是大数据分析?大数据分析是指对规模巨大、海量的数据进行分析,挖掘数据蕴含的价值和知识。
大数据分析与传统数据分析的区别:传统的数据分析主要基于统计分析方法,而大数据分析则更侧重于预测性分析和预案性分析,处理大规模、多样性的复杂数据。
数据分析的目的:将隐藏在大量数据背后的信息集中和提炼出来,总结出研究对象的内在规律,帮助管理者进行判断和决策。
数据分析的四个层次:描述性分析、诊断性分析、预测性分析和预案性分析。
大数据分析的思维方式转变: 全样而非抽样、混杂而非纯净、趋势而非精确、相关而非因果。

图1 大数据分析的思维方式转变
大数据分析源于业务需求,其完整的流程包括明确目的、数据采集与存储、数据预处理、分析与建模、模型评估以及可视化应用。
1. 明确目的
每个大数据分析项目都有独特的业务背景和需要解决的问题。在项目开始之前,应考虑数据对象、商业目的、业务需求等问题。只有深入理解业务背景,明确数据分析目的,并确定分析思路,才能确保数据分析过程的有效性。
2. 数据采集与存储
根据指标的分解结果,可以确定数据选取范围,并采集目标数据。采集的数据可以来自企业内部数据库中的历史数据、 Excel表格数据、文本文件以及实时数据等。此外,互联网和行业领域相关数据也是重要的数据来源。
3. 数据预处理
数据预处理是大数据处理中不可或缺的环节。为了获得可靠的数据分析和挖掘结果,必须利用数据预处理手段来提高大数据的质量,贯彻高质量发展精神。数据预处理包括数据合并、数据清洗、数据标准化、数据变换等。
4. 分析与建模
分析与建模是大数据处理的核心环节,涵盖了统计分析、机器学习、数据挖掘和模式识别等多个领域的技术和方法。在分析阶段,可以采用对比分析、分组分析、交叉分析和回归分析等方法。
5. 模型评估
评估是对模型进行全面评估的过程,包括建模过程评估和模型结果评估。具体来说,建模过程评估主要关注模型的精度、准确性、效率和通用性等方面;而模型结果评估则需要考虑是否有遗漏的业务问题,以及模型结果是否解决了业务问题。
6. 可视化应用
将分析结果以可视化的形式呈现。数据可视化的目标是以图形方式清晰、有效地展示信息。通过不同角度的可视化图形,人们可以更好地解读数据的本质,更直观地解释数据之间的特征和属性情况,并更深入地理解数据和数据所代表事件之间的关联。最终,将编写分析报告,并将分析结果应用于实际业务中,实现数据分析的真正价值——解决问题、创造商业价值并提供决策依据。
大数据无处不在,应用于各行各业。个性化推荐、预测性分析是两个典型的应用场景。
1. 个性化推荐
大数据分析不仅能够帮助用户发现有价值的信息,还能将信息推荐给可能感兴趣的用户。例如,电子商务网站、社交网站的音乐、电影和图书推荐,以及媒体根据用户的品位和阅读习惯进行个性化推荐。
2. 预测性分析
预测性分析是大数据分析的核心应用之一。它基于大数据和预测模型预测未来某事件发生的概率。例如:
大数据技术包括大数据采集、存储、资源调度、计算、查询与应用分析等,典型的开源框架如下。
1. 大数据采集框架
负责从外部数据源采集数据,包括大数据收集、交换和消息处理等系统框架。典型框架:
2. 大数据存储框架
负责对大数据进行存储。典型框架:
3. 大数据计算框架
大数据计算根据对时间性能要求分为批处理、交互式处理和实时处理。批处理对时间要求最低,一般要求处理时间为分钟到小时级别,甚至天级别,追求的是高吞吐率,即单位时间内处理的数据量尽可能大。交互式处理对时间要求比较高,一般要求处理时间为秒级别,这类框架需要与使用者进行交互,因此会提供类结构查询语言以便于用户使用。实时处理对时间要求最高,一般要求处理时间延迟在秒级以内。
典型计算框架:
4. 资源调度框架
提高资源利用率、降低运营成本。典型框架:
5. 数据查询与分析框架
数据分析层直接与用户应用程序对接,为其提供易用的数据处理工具。为了让用户更轻松地分析数据,计算框架会提供多样化的工具,包括应用程序接口(Application Program Interface,API)、类SQL、数据挖掘软件开发工具包(Software Development Kit,SDK)等。典型的数据查询与分析框架有Hive、 Spark SQL、Mahout等。
大数据技术体系庞大且复杂,在学习过程中,我们应该培养解决问题的自主能力。遇到问题时,可第一时间利用搜索引擎寻找解决方案,学会独立解决问题,充分利用互联网资源。在参考资料的选择上,应优先查阅官方文档,以便获得最权威、最准确的信息。同时,我们需要深人理解各个技术的思想与原理,积极提问、勤于思考。例如:MapReduce是如何分而治之的策略的?HDFS数据到底存储在哪里,副本机制是如何工作的?YARN是什么,它的功能有哪些?Spark和Flink各自的优势和特点是什么?为什么Spark不能完全取代MapReduce?此外,我们还应该通过动手实践,来加深对大数据先进技术的理解,掌握大数据技术的精髓,走在时代前列,为国、为民服务。