pyspark 语法大全
时间: 2024-11-04 14:01:23 浏览: 23
Pyspark是Python编程语言下的Apache Spark的API,它提供了一种简单的方式来处理大规模数据集。以下是Pyspark的一些关键语法概览:
1. **SparkSession**: 创建一个Spark应用程序的基本入口点,用于配置连接到集群并管理Spark会话。
```python
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName('app_name').getOrCreate()
```
2. **DataFrame**: Pyspark的数据结构,类似于SQL表,可以执行各种操作如读取、写入文件,过滤、聚合等。
```python
df = spark.read.csv('file_path', inferSchema=True, header=True)
```
3. **RDD (Resilient Distributed Datasets)**: 虽然不是Pyspark的主要接口,但在早期版本中很重要。创建、转换和操作RDDs:
```python
rdd = sc.textFile('file_path')
filtered_rdd = rdd.filter(lambda line: 'keyword' in line)
```
4. **Transformations**:
- `flatMap()`: 将每个元素转换成一个序列再扁平化
- `reduceByKey()`: 按键合并值
5. **Actions**: 返回结果而不是改变原始数据结构
- `count()`
- `collect()`: 将所有分区的数据加载到内存
- `write.save()`: 写入文件或数据库
6. **Pipeline**: 使用`pandas_udf`和`DataFrame API`结合,构建流水线式数据处理过程。
7. **MLlib**: Spark ML库用于机器学习任务,包括分类、回归、协同过滤等。
```python
from pyspark.ml.classification import LogisticRegression
lr = LogisticRegression(featuresCol='features', labelCol='label')
model = lr.fit(train_df)
```
阅读全文