Dans Pyspark, vous pouvez définir un schéma et lire des sources de données avec ce schéma prédéfini, e. g.:
Schema = StructType([ StructField("temperature", DoubleType(), True),
StructField("temperature_unit", StringType(), True),
StructField("humidity", DoubleType(), True),
StructField("humidity_unit", StringType(), True),
StructField("pressure", DoubleType(), True),
StructField("pressure_unit", StringType(), True)
])
Pour certaines données de données, il est possible de déduire le schéma de la source de données et d'obtenir un Dataframe avec cette définition de schéma.
Est-il possible d'obtenir la définition de schéma (sous le formulaire décrit ci-dessus) à partir d'un fichier de données, où les données ont été déduites auparavant?
df.printSchema()
Imprime le schéma comme arbre, mais j'ai besoin de réutiliser le schéma, le présentant comme ci-dessus, je peux donc lire une source de données avec ce schéma qui a été déduit avant d'une autre source de données.
Si vous recherchez une chaîne DDL de Pyspark:
df: DataFrame = spark.read.load('LOCATION')
schema_json = df.schema.json()
ddl = spark.sparkContext._jvm.org.Apache.spark.sql.types.DataType.fromJson(schema_json).toDDL()