当使用PySpark处理大规模数据时,常常需要从csv格式数据中读取数据。Pyspark提供了两种常用的方法来读取csv文件并创建DataFrame,分别是使用spark.read.csv()方法和通过spark.read.format()方法指定格式的方式。下面将分别详细讲解这两种方式的使用方法和示例。
方法1:使用spark.read.csv()方法
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.appName("ReadCSV").getOrCreate()
# 读取csv文件,解析第一列为整数类型,其他列为字符串类型,文件中的列头为true
df = spark.read.csv("path/to/csv/file.csv", header=True, inferSchema=True)
# 展示DataFrame内容
df.show()
在上述代码中,我们首先创建了一个SparkSession,并命名为"ReadCSV"。然后使用SparkSession的read属性中的csv()方法,来读取csv文件。在方法中,我们可以指定csv文件的路径,以及指定第一行是否为列头、每列数据的类型等参数,用于解析csv文件的结构。最后,我们使用show()方法来显示DataFrame的内容。
除了header和inferSchema两个参数外,还可以通过更多的参数对数据进行读取和格式化,例如指定分隔符、空值字符串等。具体可参考PySpark的官方文档。
方法2:使用spark.read.format()方法
from pyspark.sql import SparkSession
# 创建SparkSession
spark = SparkSession.builder.appName("ReadCSV").getOrCreate()
# 通过指定format来读取csv文件,同样需要指定列类型和文件中是否有列头
df = spark.read.format("csv") \
.option("header", True) \
.option("inferSchema", True) \
.load("path/to/csv/file.csv")
# 展示DataFrame内容
df.show()
在上述代码中,我们同样创建了一个 SparkSession,并命名为“ReadCSV”。然后,使用 SparkSession 的read属性中的format()方法,来指定要读取的文件格式为csv。通过.option()方法,我们可以设置和控制读取文件的参数,例如是否有列头、每列数据类型等。最后再使用load()方法,来读取指定路径下的csv文件。
通过这两种方法的示例可以看出,读取和处理csv文件在 Pyspark 中非常容易和高效,能够快速处理大规模的数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:pyspark 读取csv文件创建DataFrame的两种方法 - Python技术站