我有一个spark数据框。我必须从中读取列名、数据类型和精度值(如果有的话)。
我能读名字和类型如下
for f in df.schema.fields:
name = f.name
type = f.dataType.typeName()
dataframe架构如下所示-
[StructField(orgid,StringType,true), StructField(customerid,DecimalType(15,5),true), StructField(oppid,IntegerType,true)]
在上述模式中,我必须读取十进制精度值,即。, (15,5)
. 有什么办法吗?谢谢你的帮助
1条答案
按热度按时间p8ekf7hl1#
检查数据类型是否为十进制
isinstance
,然后从中提取精度值.precision
以及.scale
: