繁体   English   中英

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

[英]PySpark How to parse and get field names from Dataframe schema's StructType Object

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

>>>a=df.schema
>>>a
StructType(List(StructField(empid, IntegerType, true), StructField(empname,StringType, true)))

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

使用pyspark.sql.types.StructType.fieldnames

fieldNames()

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

 >>> struct = StructType([StructField("f1", StringType(), True)]) >>> struct.fieldNames() ['f1']

您还可以使用 df.columns 以列表形式获取列名。

>>> spark.version
u'2.4.0.cloudera2'
>>>
>>> df=spark.sql("select 10 empid, 's' empname from range(1)")
>>> df.schema
StructType(List(StructField(empid,IntegerType,false),StructField(empname,StringType,false)))
>>> df.schema.fieldNames()
['empid', 'empname']
>>> df.columns
['empid', 'empname']
>>>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM