다음을 통해 공유


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 dict, 선택 사항 구문 분석을 제어하는 옵션입니다. CSV 데이터 원본과 동일한 옵션을 허용합니다.

Returns

pyspark.sql.Column: 지정된 CSV에서 구문 분석된 문자열 표현 StructType 입니다.

예시

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