使用 PySpark 读取 JSON 数据时,可以指定 schema。这样可以更准确地解析 JSON 数据,而不是使用自动推断的 schema。
以下是使用 PySpark 读取 JSON 数据并指定 schema 的示例:
from pyspark.sql.types import StructType, StructField, StringType, IntegerType
# 定义 schema
schema = StructType([
StructField("name", StringType(), True),
StructField("age", IntegerType(), True),
StructField("city", StringType(), True),
# 读取 JSON 数据并应用 schema
df = spark.read.schema(schema).json("path/to/json/file")
# 显示 DataFrame
df.show()
在这个示例中,首先定义了 schema,它由三个字段组成:name(字符串类型)、age(整数类型)和city(字符串类型)。然后,使用 spark.read.schema()
方法将 schema 应用到读取 JSON 文件的 DataFrame 中。
最后,使用 df.show()
显示 DataFrame。
请注意,JSON 文件的路径应该是相对于 Spark 应用程序所在的目录的相对路径。如果文件在 HDFS 或其他分布式文件系统中,需要使用相应的文件系统路径。