![](/img/trans.png)
[英]Using Spark UDF to pick integer / decimal part of signed float value from spark dataframe
[英]How to read the decimal precision value from spark dataframe using python
我有一個 spark dataframe。如果有的話,我必須從中讀取列名、數據類型和精度值。
我能夠讀取名稱和類型如下
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)
。 有什么辦法嗎? 感謝您的任何幫助
使用isinstance
檢查數據類型是否為 Decimal,然后可以從.precision
和.scale
中提取精度值:
from pyspark.sql.types import DecimalType
for f in df.schema.fields:
if isinstance(f.dataType, DecimalType):
print(f.dataType.precision, f.dataType.scale)
# 15 5
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.