PySpark 如何从 Dataframe 架构的 StructType 对象解析和获取字段名称

AJI*_*ANE 3 schema struct apache-spark apache-spark-sql pyspark

我已经从 Hive 表创建了 Dataframe 并想要检索字段/列名称。

>>>a=df.schema
>>>a
StructType(List(StructField(empid, IntegerType, true), StructField(empname,StringType, true)))
Run Code Online (Sandbox Code Playgroud)

如何从此对象中检索字段名称(empid、empname)。

小智 9

使用pyspark.sql.types.StructType.fieldnames

fieldNames()

返回列表中的所有字段名称。

>>> struct = StructType([StructField("f1", StringType(), True)])
>>> struct.fieldNames()
['f1']
Run Code Online (Sandbox Code Playgroud)

  • 这个确实很难找,花了2个小时才找到,非常感谢! (2认同)