Spark SQL数据类型等同于SQL中的DecimalType(2,9)是什么?
例如:print(column.dataType==X) =>应该给我True。在SQL中,列的数据类型是DecimalType(2,9)
已尝试:X= DataTypes.createDecimalType(2,9),工作正常
我正在寻找一个通用的DecimalType类来过滤数据帧中的所有DecimalType列,而不考虑精度和小数位数。
发布于 2018-07-10 03:02:15
每个DecimalType类型都是DecimalType类的一个实例:
from pyspark.sql.types import DecimalType
df = (spark
.createDataFrame(["1.32"], "string")
.selectExpr("CAST(value AS DECIMAL(4, 2)) AS value"))
isinstance(df.schema["value"].dataType, DecimalType)
# Trueimport org.apache.spark.sql.types._
val df = Seq("1.32").toDF("value")
.selectExpr("CAST(value AS DECIMAL(4, 2)) AS value")
df.schema("value").dataType match {
case _: DecimalType => true
case _ => false
}
// Boolean = true当然,您永远不会遇到DECIMAL(2,9),因为小数位数不可能大于精度。
https://stackoverflow.com/questions/51252288
复制相似问题