Spark介绍

PySpark 是Apache Spark的Python接口。它不但允许你用Python API写Spark应用,而且也提供了Pyaprk Shell在分布式环境中交互式分析你的数据.PySpark支持大多数Spark功能如Spark SQL,DataFrame,Streaming,Mlib(机器学习)和Spark Core.

PySpark Components
Spark SQL 和 DataFrame

Spark SQL是Spark结构化数据处理模块.它提供了抽象编程的DataFrame和能充当分布式SQL查询引擎。

Spark 上的 pandas API

Spark上的pandas API允许你扩大pandas数据处理工作量。通过这个包,你能够:

  • 如果你已经熟悉pandas,使用Spark立即提升生产力,没有学习曲线。
  • 拥有一个既适用于 Pandas(测试,较小的数据集)又适用于 Spark(分布式数据集)的代码库。
  • 在pandas API和Pyspark API环境中,可以简单和没有任何负担的切换。
Streaming

Apache Spark 中的流功能运行在 Spark 之上,支持跨流数据和历史数据的强大交互和分析应用程序,同时继承Spark易用和容错特性。

MLlib

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

Spark Core

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

### Apache Spark简介 Apache Spark 是一个开源的分布式计算系统,旨在提供数据处理的高速度通用性[^2]。该平台不仅能够处理大规模的数据集,还具备实时数据分析的能力。通过使用最前沿的有向无环图(DAG)调度程序、查询优化器以及物理执行引擎,Spark实现了对于批处理数据流数据处理性能的高度提升[^4]。 #### 基本概念 - **弹性分布式数据集(RDD)**:这是Spark最早引入的一种抽象表示形式,代表不可变且分区化的集合对象,在集群上并行操作。 - **DataFrame**:一种组织成命名列的数据结构,类似于关系数据库中的表或Pandas库里的DataFrame。它允许开发者以更直观的方式对大型数据集进行转换聚合操作,并能自动优化内部执行计划[^5]。 - **Dataset**:结合了RDD的强大特性DataFrame易于使用的API优势,既提供了编译期类型安全又保持了运行效率。 - **Transformation与Action**:Transformations定义了一系列懒加载的操作序列来构建新的RDD/Dataset/DataFrame;而Actions则触发实际计算并将结果返回给驱动程序或者保存到外部存储系统中。 ### 应用场景 由于其强大的功能特性,Apache Spark广泛应用于多个领域: - **机器学习模型训练**:借助MLlib组件提供的各种算法实现快速迭代开发复杂预测模型。 - **日志分析/ETL流程自动化**:可用于清洗整理海量的日志文件,从中提取有价值的信息用于业务决策支持。 - **实时推荐系统建设**:利用Structured Streaming模块实现实时事件流处理,及时响应用户行为变化调整个性化建议列表。 - **图形计算任务加速**:GraphX扩展包使得在超大社交网络或其他关联型数据集中查找路径变得简单高效。 ```python from pyspark.sql import SparkSession spark = SparkSession.builder.appName("example").getOrCreate() data = [("James", "", "Smith", "36636", "M", 3000), ("Michael", "Rose", "", "40288", "M", 4000)] columns = ["firstname", "middlename", "lastname", "id", "gender", "salary"] df = spark.createDataFrame(data, columns) df.show() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值