簡體   English   中英

如何使用 python 從 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM