首页 > 解决方案 > 创建 pyspark 数据框时如何将小数作为值传递?

问题描述

我想创建一个虚拟数据框,其中一行包含十进制值。但是当这样做时,它会自动将其转换为双精度。我希望数据类型为 Decimal(18,2) 等。

dummy_row = spark.createDataFrame([(0,-1,'missing','missing',0.0],df.columns)

我希望架构是

unique_id:integer
line_id:long
line_name:string
line_type:string
pct:decimal(18,5)

但我明白了

unique_id:integer
line_id:long
line_name:string
line_type:string
pct:double

如何在 pyspark 中将 double 类型转换为 decimal 类型。我是新手,所以如果有人可以提供帮助,那就太好了!

标签: pysparkpyspark-sqlpyspark-dataframes

解决方案


推荐阅读