spark 导出CSV
时间: 2024-11-29 17:15:10 浏览: 3
Hive on Spark 离线数仓生成的原始数据
Apache Spark 提供了一个方便的方式来导出DataFrame或者RDD(弹性分布式数据集)到CSV文件。以下是使用Spark SQL的基本步骤:
1. **创建DataFrame或RDD**:首先,你需要有一个包含你想导出的数据的DataFrame或者从其他源转换得到的RDD。
```python
from pyspark.sql import SparkSession
# 创建一个DataFrame
spark = SparkSession.builder.getOrCreate()
df = spark.read.json("your_data_source.json") # 或者从其他数据源读取数据
# 对于RDD,可以先转成DataFrame再操作
rdd = sc.textFile("your_rdd_path").map(json.loads) # 假设你有JSON格式的RDD
df_from_rdd = spark.createDataFrame(rdd)
```
2. **保存为CSV**:使用`write.csv()`函数将DataFrame保存到CSV文件。
```python
# 将DataFrame保存为CSV
df.write.format("csv").option("header", "true").save("output_file.csv")
# 或者对于RDD直接导出
df_from_rdd.coalesce(1).write.csv("output_file.csv")
```
在这里,`option("header", "true")`设置了文件的第一行作为列名,`coalesce(1)`是为了保证数据会被写入单个分区以减少磁盘I/O。
阅读全文