Kar*_*rma 3 apache-spark apache-spark-sql
什么是 Spark SQL 数据类型等效DecimalType(2,9)于 SQL?
例如:print(column.dataType==X)=> 应该给我 True。SQL 中 Column 的数据类型是 DecimalType(2,9)
试过:X= DataTypes.createDecimalType(2,9),工作正常
我正在寻找一个通用DecimalType类来过滤DecimalType数据框中的所有列,而不管精度和比例如何。
每种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)
# True
Run Code Online (Sandbox Code Playgroud)
import 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
Run Code Online (Sandbox Code Playgroud)
当然,您永远不会遇到DECIMAL(2,9),因为比例不可能大于精度。
| 归档时间: |
|
| 查看次数: |
10656 次 |
| 最近记录: |