如何提取PySpark DataFrame中嵌套StructType的内部Schema
提取PySpark DataFrame嵌套结构体内部Schema
要从包含ExternalData嵌套结构体的Schema中提取内部字段的StructType,可以直接通过Schema对象的字段索引和属性访问实现:
实现代码
# 假设sdf是你的PySpark DataFrame inner_schema = sdf.schema["ExternalData"].dataType # 打印验证结果 print(inner_schema)
原理说明
sdf.schema返回的是整个DataFrame的顶层StructType- 通过字段名
["ExternalData"]可以获取对应嵌套结构体的StructField对象 - 访问该
StructField的dataType属性,就能得到嵌套在内部的StructType,也就是你需要的包含provider、data、modality字段的结构
执行后输出的结果即为你要求的结构:
StructType([StructField('provider', StringType(), True), StructField('data', StringType(), True), StructField('modality', ArrayType(StringType(), True), True)])
内容的提问来源于stack exchange,提问作者Sam Comber
相关产品推荐
相关产品推荐

