spark sql编程语法
时间: 2024-06-21 07:01:18 浏览: 95
Spark SQL是Apache Spark中的一个模块,它提供了用于处理结构化数据的SQL查询功能。Spark SQL支持SQL查询,能够将Hadoop文件系统中的数据转换为DataFrame或DataSet,这是Spark中用于进行批处理和交互式查询的主要数据结构。
以下是Spark SQL的一些核心编程语法:
1. **创建DataFrame**: 使用`spark.read`方法读取数据,例如从CSV、JSON、Parquet等文件或数据库表,然后使用`createDataFrame`或`sql`函数执行SQL查询来创建DataFrame。
```python
df = spark.read.format("csv").option("header", "true").load("data.csv")
```
2. **SQL查询**:
使用`df.select()`方法选择列,`df.where()`添加过滤条件,`df.groupBy()`进行分组,`df.join()`执行连接操作。
```python
selected_df = df.select("column1", "column2")
filtered_df = df.where(df["column3"] > 10)
grouped_df = df.groupby("column4").count()
```
3. **DataFrame转换**: 可以使用`withColumn()`添加新列,`alias()`重命名列,`coalesce()`合并列,`explode()`展开嵌套数组等。
```python
df = df.withColumnRenamed("old_name", "new_name")
new_df = df.coalesce(2) # 合并分区数为2
```
4. **写入数据**: 使用`df.write`方法将DataFrame写回文件系统或数据库。
```python
df.write.format("parquet").save("output.parquet")
```
阅读全文