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 データソースと同じオプションを受け入れます。 |
返品ポリシー
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>|
+-------------------------------------------+