在星火阶中铸造到分贝

kse8i1jr  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(281)

我有如下文本格式的输入数据。我需要把它转换成scala中的十进制数。请帮我看一下演员表。
+0000025.42
我尝试了.cast(decimaltype(11,2)),它显示为null

z9ju0rcb

z9ju0rcb1#

可能在吃点东西 text 因为无法将数据转换为 decimal(11,2) 正在添加类型(&I) null 在那个专栏里。
检查该列中的数据。

scala> val df = Seq(("+0000025.42"),("sample")).toDF
df: org.apache.spark.sql.DataFrame = [value: string]

scala> df.show(false)
+-----------+
|value      |
+-----------+
|+0000025.42|
|sample     |
+-----------+

scala> df.select($"value".cast("decimal(11,2)").as("value")).show(false)
+-----+
|value|
+-----+
|25.42|
|null |
+-----+

相关问题