PySpark 概述

文章最前 : 我是Octopus,这个名字来源于我的中文名--章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github ;这博客是记录我学习的点点滴滴,如果您对 Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。

PySpark 是 Apache Spark 的 Python API。它使您能够使用Python在分布式环境中执行实时、大规模的数据处理。它还提供了一个 PySpark shell,用于交互式分析您的数据。

PySpark 将 Python 的易学性和易用性与 Apache Spark 的强大功能相结合,让熟悉 Python 的每个人都能处理和分析任何规模的数据。

PySpark 支持 Spark 的所有功能,例如 Spark SQL、DataFrames、结构化流、机器学习 (MLlib) 和 Spark Core。

Spark SQL 和 DataFrame

Spark SQL 是 Apache Spark 用于处理结构化数据的模块。它允许您将 SQL 查询与 Spark 程序无缝混合。借助 PySpark DataFrames,您可以使用 Python 和 SQL 高效地读取、写入、转换和分析数据。无论您使用 Python 还是 SQL,都使用相同的底层执行引擎,因此您将始终充分利用 Spark 的全部功能。

Spark 上的 Pandas API

Spark 上的 Pandas API 允许您通过跨多个节点分布式运行来将 pandas 工作负载扩展到任意大小。如果您已经熟悉 pandas 并希望利用 Spark 处理大数据,Spark 上的 pandas API 可以让您立即提高工作效率,并让您无需修改代码即可迁移应用程序。您可以拥有一个既适用于 pandas(测试、较小的数据集)又适用于 Spark(生产、分布式数据集)的代码库,并且可以轻松地在 pandas API 和 Spark 上的 Pandas API 之间切换,而无需任何开销。

Spark 上的 Pandas API 旨在使从 pandas 到 Spark 的过渡变得容易,但如果您是 Spark 新手或决定使用哪个 API,我们建议使用 PySpark(请参阅Spark SQL 和 DataFrames)。

结构化流媒体

Structured Streaming 是一个基于 Spark SQL 引擎构建的可扩展且容错的流处理引擎。您可以像表达静态数据的批量计算一样表达流计算。Spark SQL 引擎将负责增量且持续地运行它,并随着流数据不断到达而更新最终结果。

机器学习(MLlib)

MLlib 构建于 Spark 之上,是一个可扩展的机器学习库,它提供了一组统一的高级 API,可帮助用户创建和调整实用的机器学习管道。

Spark 核心和 RDD

Spark Core 是 Spark 平台的底层通用执行引擎,所有其他功能都构建在其之上。它提供RDD(弹性分布式数据集)和内存计算能力。

请注意,RDD API 是一个低级 API,可能难以使用,并且您无法从 Spark 的自动查询优化功能中受益。我们建议使用 DataFrame(请参阅上面的Spark SQL 和 DataFrame)而不是 RDD,因为它可以让您更轻松地表达您想要的内容,并让 Spark 自动为您构建最高效的查询。

Spark 流(旧版)

Spark Streaming 是核心 Spark API 的扩展,可实现实时数据流的可扩展、高吞吐量、容错流处理。

请注意,Spark Streaming 是上一代 Spark 流引擎。这是一个遗留项目,不再更新。Spark 中有一个更新且更易于使用的流引擎,称为 "结构化流",您应该将其用于流应用程序和管道。

相关推荐
喂完待续2 小时前
【Tech Arch】Hive技术解析:大数据仓库的SQL桥梁
大数据·数据仓库·hive·hadoop·sql·apache
SelectDB3 小时前
5000+ 中大型企业首选的 Doris,在稳定性的提升上究竟花了多大的功夫?
大数据·数据库·apache
最初的↘那颗心3 小时前
Flink Stream API 源码走读 - window 和 sum
大数据·hadoop·flink·源码·实时计算·窗口函数
Yusei_05235 小时前
迅速掌握Git通用指令
大数据·git·elasticsearch
一只栖枝11 小时前
华为 HCIE 大数据认证中 Linux 命令行的运用及价值
大数据·linux·运维·华为·华为认证·hcie·it
喂完待续15 小时前
Apache Hudi:数据湖的实时革命
大数据·数据仓库·分布式·架构·apache·数据库架构
青云交15 小时前
Java 大视界 -- 基于 Java 的大数据可视化在城市交通拥堵治理与出行效率提升中的应用(398)
java·大数据·flink·大数据可视化·拥堵预测·城市交通治理·实时热力图
还是大剑师兰特21 小时前
Flink面试题及详细答案100道(1-20)- 基础概念与架构
大数据·flink·大剑师·flink面试题
189228048611 天前
NY243NY253美光固态闪存NY257NY260
大数据·网络·人工智能·缓存
武子康1 天前
大数据-70 Kafka 日志清理:删除、压缩及混合模式最佳实践
大数据·后端·kafka