Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de changer d’annuaire.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer d’annuaire.
Analyse une chaîne CSV et déduit son schéma au format DDL.
Syntaxe
from pyspark.sql import functions as sf
sf.schema_of_csv(csv, options=None)
Paramètres
| Paramètre | Type | Descriptif |
|---|---|---|
csv |
pyspark.sql.Column ou str |
Chaîne CSV ou colonne de chaîne pliable contenant une chaîne CSV. |
options |
dict, facultatif | Options pour contrôler l’analyse. Accepte les mêmes options que la source de données CSV. |
Retours
pyspark.sql.Column: représentation sous forme de chaîne d’une StructType analyse à partir du fichier CSV donné.
Examples
Exemple 1 : inférence du schéma d’une chaîne CSV avec différents types de données
from pyspark.sql import functions as sf
df = spark.range(1)
df.select(sf.schema_of_csv(sf.lit('1|a|true'), {'sep':'|'})).show(truncate=False)
+-------------------------------------------+
|schema_of_csv(1|a|true) |
+-------------------------------------------+
|STRUCT<_c0: INT, _c1: STRING, _c2: BOOLEAN>|
+-------------------------------------------+
Exemple 2 : inférence du schéma d’une chaîne CSV avec des valeurs manquantes
from pyspark.sql import functions as sf
df = spark.range(1)
df.select(sf.schema_of_csv(sf.lit('1||true'), {'sep':'|'})).show(truncate=False)
+-------------------------------------------+
|schema_of_csv(1||true) |
+-------------------------------------------+
|STRUCT<_c0: INT, _c1: STRING, _c2: BOOLEAN>|
+-------------------------------------------+
Exemple 3 : inférence du schéma d’une chaîne CSV avec un autre délimiteur
from pyspark.sql import functions as sf
df = spark.range(1)
df.select(sf.schema_of_csv(sf.lit('1;a;true'), {'sep':';'})).show(truncate=False)
+-------------------------------------------+
|schema_of_csv(1;a;true) |
+-------------------------------------------+
|STRUCT<_c0: INT, _c1: STRING, _c2: BOOLEAN>|
+-------------------------------------------+
Exemple 4 : inférence du schéma d’une chaîne CSV avec des champs entre guillemets
from pyspark.sql import functions as sf
df = spark.range(1)
df.select(sf.schema_of_csv(sf.lit('"1","a","true"'), {'sep':','})).show(truncate=False)
+-------------------------------------------+
|schema_of_csv("1","a","true") |
+-------------------------------------------+
|STRUCT<_c0: INT, _c1: STRING, _c2: BOOLEAN>|
+-------------------------------------------+