Teilen über


schema_of_csv

Analysiert eine CSV-Zeichenfolge und leitet das Schema im DDL-Format ab.

Syntax

from pyspark.sql import functions as sf

sf.schema_of_csv(csv, options=None)

Die Parameter

Parameter Typ Description
csv pyspark.sql.Column oder str Eine CSV-Zeichenfolge oder eine faltbare Zeichenfolgenspalte, die eine CSV-Zeichenfolge enthält.
options Diktat, optional Optionen zum Steuern der Analyse. Akzeptiert die gleichen Optionen wie die CSV-Datenquelle.

Rückkehr

pyspark.sql.Column: Eine Zeichenfolgendarstellung einer StructType analyse aus der angegebenen CSV.

Examples

Beispiel 1: Ableiten des Schemas einer CSV-Zeichenfolge mit unterschiedlichen Datentypen

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>|
+-------------------------------------------+

Beispiel 2: Ableiten des Schemas einer CSV-Zeichenfolge mit fehlenden Werten

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>|
+-------------------------------------------+

Beispiel 3: Ableiten des Schemas einer CSV-Zeichenfolge mit einem anderen Trennzeichen

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>|
+-------------------------------------------+

Beispiel 4: Ableiten des Schemas einer CSV-Zeichenfolge mit Feldern in Anzeichen

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>|
+-------------------------------------------+