栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

SPARK 对DataSet操作

SPARK 对DataSet操作

val df = Seq((2L, "a", "foo", 3.0)).toDF
df.printSchema
// root
//  |-- _1: long (nullable = false)
//  |-- _2: string (nullable = true)
//  |-- _3: string (nullable = true)
//  |-- _4: double (nullable = false)

最简单的办法toDF方法

val schemas= Seq("id", "x1", "x2", "x3")
val dfRenamed = df.toDF(schemas: _*)
 
dfRenamed.printSchema
// root
// |-- id: long (nullable = false)
// |-- x1: string (nullable = true)
// |-- x2: string (nullable = true)
// |-- x3: double (nullable = false)

如果要重命名单个列,可以使用以下任select一项alias:

df.select($"_1".alias("x1"))

可以很容易到多列:

val lookup = Map("_1" -> "foo", "_3" -> "bar")
 
df.select(df.columns.map(c => col(c).as(lookup.getOrElse(c, c))): _*)
或者withColumnRenamed:

df.withColumnRenamed("_1", "x1")
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/312901.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号