Есть папка с паркетными файлами, которые я читаю в сеансе pyspark. Как я могу проверить / проанализировать отдельные типы полей схемы и другую информацию (например, с целью сравнения схем между фреймами данных, чтобы увидеть точные различия типов)?
Я могу видеть схему паркета и указать c поле имена с чем-то вроде ...
from pyspark.sql import SparkSession
from pyspark.sql.functions import *
sparkSession = SparkSession.builder.appName("data_debugging").getOrCreate()
df = sparkSession.read.option("header", "true").parquet("hdfs://hw.co.local:8020/path/to/parquets")
df.schema # or df.printSchema()
df.fieldNames()
Таким образом, я могу видеть схему
StructType(List(StructField(SOME_FIELD_001,StringType,true),StructField(SOME_FIELD_002,StringType,true),StructField(SOME_FIELD_003,StringType,true)))
, но не уверен, как получить значения для указанных c полей, например. что-то вроде ...
df.schema.getType("SOME_FIELD_001")
or
df.schema.getData("SOME_FIELD_001") #type: dict
Кто-нибудь знает, как сделать что-то подобное?