【Spark SQL】数据类型转换和保留小数

您所在的位置:网站首页 mysql保留1位小数 【Spark SQL】数据类型转换和保留小数

【Spark SQL】数据类型转换和保留小数

2023-03-27 18:31| 来源: 网络整理| 查看: 265

【Spark SQL】数据类型转换和保留小数 原创

飝鱻? 2022-03-23 10:21:17 博主文章分类:Spark ©著作权

文章标签 spark sql scala 数据 保留小数 文章分类 代码人生

©著作权归作者所有:来自51CTO博客作者飝鱻?的原创作品,请联系作者获取转载授权,否则将追究法律责任 数据类型转换和保留小数

数据展示【Spark SQL】数据类型转换和保留小数_spark

数据类型转换 //创建环境 val spark = SparkSession.builder() .master("local[6]") .appName("test") .getOrCreate() //隐式转换 import spark.implicits._ //读取数据 val sourceDF = spark.read .option("header", true) .csv("dataset/test.csv") //先展示数据结构 sourceDF.printSchema() //将id改成int类型,成绩改成double类型 val resout1: DataFrame = sourceDF.select('Sid.cast("int"), 'Sname, 'Score.cast("double")) //再次展示数据结构 resout1.printSchema()

结果展示【Spark SQL】数据类型转换和保留小数_保留小数_02

保留小数 //先展示原始数据 sourceDF.show() //导入隐式转换 import org.apache.spark.sql.functions._ //将成绩列数据保留两位小数 /** * 使用round保留小数,超出部分截取,不够的的不会不领 */ val result2: DataFrame = sourceDF.select('Sid, 'Sname, expr("round(Score,2)") as "Score") //展示处理后的数据 result2.show() /** * 这种类型会补零 */ val result3: DataFrame = sourceDF.select('Sid, 'Sname, expr("cast(Score as decimal(18,2))") as "Score") result3.show()

结果展示【Spark SQL】数据类型转换和保留小数_保留小数_03

打赏 收藏 评论 分享 举报

上一篇:【Spark】Spark扩展

下一篇:【Hive】使用load导入文件数据却导致文件消失



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3