Dataframe Spark:如何定义嵌套模式?
我是Apache Spark的新手,如果这是一个noob问题,请原谅我。我试图在读取数据集之前定义一个特定的模式,以加快处理速度。有几种数据类型我不知道如何定义(ArrayType和StructType) 以下是我正在使用的模式的屏幕截图: 以下是我到目前为止的情况:Dataframe Spark:如何定义嵌套模式?,dataframe,apache-spark,pyspark,Dataframe,Apache Spark,Pyspark,我是Apache Spark的新手,如果这是一个noob问题,请原谅我。我试图在读取数据集之前定义一个特定的模式,以加快处理速度。有几种数据类型我不知道如何定义(ArrayType和StructType) 以下是我正在使用的模式的屏幕截图: 以下是我到目前为止的情况: jsonSchema = StructType([StructField("attribution", ArrayType(), True), Struct
jsonSchema = StructType([StructField("attribution", ArrayType(), True),
StructField("averagingPeriod", StructType(), True),
StructField("city", StringType(), True),
StructField("coordinates", StructType(), True),
StructField("country", StringType(), True),
StructField("date", StructType(), True),
StructField("location", StringType(), True),
StructField("mobile", BooleanType(), True),
StructField("parameter", StringType(), True),
StructField("sourceName", StringType(), True),
StructField("sourceType", StringType(), True),
StructField("unit", StringType(), True),
StructField("value", DoubleType(), True)
])
我的问题是:如何在属性列下说明名称和url,在averagingPeriod列下说明单位和值,等等
作为参考,这里是我使用的数据集:。这里是数组类型和结构类型的示例。我认为对于所有其他专栏来说,这样做应该很简单
from pyspark.sql.types import *
jsonSchema = StructType([
StructField("attribution", ArrayType(StructType([StructField("name", StringType()), StructField("url", StringType())])), True),
StructField("averagingPeriod", StructType([StructField("unit", StringType()), StructField("value", DoubleType())]), True),
# ... etc.
])