📅  最后修改于: 2023-12-03 15:35:02.362000             🧑  作者: Mango
CSV 文件是一种常见的数据存储格式,全称为 Comma-Separated Values,即逗号分隔值。它由行列表示,每行表示一条记录,每行中的字段用逗号分隔。相对于其他的表格数据存储格式,CSV 文件具有易于处理和传输的特点。
在 Spark 中,我们可以使用 spark.read.csv()
方法来读取 CSV 文件。这个方法会返回一个 DataFrame 对象。下面是一个 CSV 文件的例子:
name,age,height
Alice,25,165
Bob,30,180
Charlie,28,175
对于这个 CSV 文件,返回的 DataFrame 对象的架构是这样的:
+------+---+------+
| name|age|height|
+------+---+------+
| Alice| 25| 165|
| Bob| 30| 180|
|Charlie| 28| 175|
+------+---+------+
我们可以看到,DataFrame 的每一列都自动推断为具有相同的数据类型。如果你要为 DataFrame 指定某些列的数据类型,可以使用 schema
参数。
要读取 CSV 文件,我们只需要使用 spark.read.csv()
方法。下面是一个读取 CSV 文件的例子:
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("readCSV").getOrCreate()
df = spark.read.csv("path/to/csv/file.csv", header=True, inferSchema=True)
在这个例子中,我们读取了一个 CSV 文件,指定了文件的路径,并将文件头纳入 DataFrame 架构,同时 Spark 会自动地通过数据内容推断数据类型。
除此之外,spark.read.csv()
方法还支持以很多种方式进行自定义,详见官方文档。
要将 DataFrame 写入 CSV 文件,我们只需要使用 DataFrame.write.csv()
方法。下面是一个写入 CSV 文件的例子:
df.write.csv("path/to/output/folder", header=True)
在这个例子中,我们将一个 DataFrame 写入到一个文件夹中,文件夹是指定的输出路径,文件头会被输出到文件中。
除此之外,DataFrame.write.csv()
方法也可以通过很多的方式进行自定义,详见官方文档。
Spark 中的 CSV 文件使用非常方便,我们只需要使用 spark.read.csv()
方法来读取 CSV 文件,并自动得到一个 DataFrame。对于写操作,也可以使用 DataFrame.write.csv()
方法将 DataFrame 写入到 CSV 文件中。除了本文里介绍到的基本操作,Spark 中对 CSV 文件的操作还支持着许多高级特性,更多的细节请查阅官方文档。