Поделиться через


schema_of_csv

Анализирует строку CSV и выводит ее схему в формате DDL.

Синтаксис

from pyspark.sql import functions as sf

sf.schema_of_csv(csv, options=None)

Параметры

Параметр Тип Description
csv pyspark.sql.Column или str Строка CSV или свертываемая строка, содержащая строку CSV.
options дикт, необязательный Параметры для управления синтаксический анализ. Принимает те же параметры, что и источник данных CSV.

Возвраты

pyspark.sql.Column: строковое представление StructType синтаксического анализа из заданного CSV-файла.

Примеры

Пример 1. Вывод схемы строки CSV с различными типами данных

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

Пример 2. Вывод схемы строки CSV с отсутствующими значениями

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

Пример 3. Вывод схемы строки CSV с другим разделителем

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

Пример 4. Вывод схемы строки CSV с кавычками

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