当前位置: 首页 > news >正文

献县做网站价格百度网盘登陆入口

献县做网站价格,百度网盘登陆入口,建设局工资待遇怎么样,阿里云做网站目录 前言: spark withColumn的语法及使用: 准备源数据演示: 完整实例代码: 前言: withColumn():是Apache Spark中用于DataFrame操作的函数之一,它的作用是在DataFrame中添加或替换列&#xff…

 目录

        前言:

         spark withColumn的语法及使用:

        准备源数据演示: 

        完整实例代码:


前言:

withColumn():是Apache Spark中用于DataFrame操作的函数之一,它的作用是在DataFrame中添加或替换列,或者对现有列进行转换操作和更新等等

 spark withColumn的语法及使用:

1. 添加新列(用withColumn为Dataframe)
2. 改变现有列
3. 将现有列派生出新列
4 .更改数据类型(可以在改变该列的同时进行类型转换)
5 .重命名列名(需要使用DataFrame的withColumnRenamed)
6. 删除一个列 (使用drop)

准备源数据进行演示: 

import org.apache.spark.SparkConf
import org.apache.spark.sql.{DataFrame, SparkSession}
import org.apache.spark.sql.functions.{col, lit, rand, round}object text {def main(args: Array[String]): Unit = {//新建sparkval spark = new SparkConf().setMaster("local[*]").setAppName("text")val sc = SparkSession.builder().config(spark).getOrCreate()//准备源数据val tuples = Seq(("小白", 19, "江西"),("小红", 20, "安徽"),("小兰", 21, "河北"))val frame = sc.createDataFrame(tuples).toDF("name","age","address")frame.show()

输出结果为:

+------+------+---------+
|name |age  |address|
+------+-------+--------+
|小白  | 19     |   江西|
|小红  | 20     |   安徽|
|小兰  | 21     |   河北|
+-------+-------+-------+ 

1.添加新列

//语法withColumn(colName : String, col : Column) : DataFrame

例子:

//1. 用withColumn为dataframe 添加新列
val seq = Seq("小新", 22, "北京")
val frame1 : DataFrame= frame.withColumn("new",round(rand()*100,1) )
frame1.show()   //打印

输出结果为:

+------+-----+-------+---------+
|name|age|address| new|
+------+------+-------+-------+
|小白  | 19   |   江西|27.7 |
|小红  | 20   |   安徽|98.2 |
|小兰  | 21   |   河北|51.0 |
+------+------+-------+-------+

2. 改变现有列
 

//2. 改变现有列
val frame2: DataFrame = frame.withColumn("age", col("age") - 5)frame2.show()  // 打印

 输出结果为:

+------+------+-------+
|name|age|address|
+-------+------+------+
|小白   | 14|   江西|
|小红   | 15|   安徽|
|小兰   | 16|   河北|
+------+------+-------+

3.将现有列派生出新列
 

    //3.将现有列派生出新列
val frame3 : DataFrame= frame.withColumn("newCol", col("age")*10)frame3.show()

输出结果为:

+------+--------+--------+--------+
|name|age|address|newCol|
+-------+-------+--------+--------+
|小白   | 19    |   江西|   190|
|小红   | 20    |   安徽|   200|
|小兰   | 21    |   河北|   210|
+--------+------+-------+-------+

4.更改数据类型(可以在改变该列的同时进行类型转换)
 

//4.更改数据类型(可以在改变该列的同时进行类型转换)
val frame4 : DataFrame = frame.withColumn("age", col("age").cast("float"))frame4.show

 输出结果为:

+-------+-------+-------+
|name | age | address|
+-------+-------+-------+
|小白   |19.0  |   江西|
|小红   |20.0  |   安徽|
|小兰   |21.0  |   河北|
+-------+-------+-------+

5.重命名列名(需要使用DataFrame的withColumnRenamed)
 

    // 5.重命名列名(需要使用DataFrame的withColumnRenamed)val frame5: DataFrame = frame.withColumnRenamed("address", "省份")frame5.show()

输出结果为:

+------+------+------+
|name|age|省份|
+------+------+----+
|小白  | 19  |江西|
|小红  | 20  |安徽|
|小兰  | 21  |河北|
+------+-----+------+

6. 删除一个列 (使用drop)
 

    // 6.   删除一个列 (使用drop)val frame6: DataFrame = frame.drop("age")frame6.show

输出结果为:

|name|address|
+-------+-------+
|小白  |   江西|
|小红  |   安徽|
|小兰  |   河北|
+-------+-------+


完整实例代码:

import org.apache.spark.SparkConf
import org.apache.spark.sql.{DataFrame, SparkSession}
import org.apache.spark.sql.functions.{col, lit, rand, round}object text {def main(args: Array[String]): Unit = {//新建sparkval spark = new SparkConf().setMaster("local[*]").setAppName("text")val sc = SparkSession.builder().config(spark).getOrCreate()//准备源数据val tuples = Seq(("小白", 19, "江西"),("小红", 20, "安徽"),("小兰", 21, "河北"))val frame = sc.createDataFrame(tuples).toDF("name","age","address")frame.show()//1. 用withColumn为dataframe 添加新列val seq = Seq("小新", 22, "北京")val frame1 : DataFrame= frame.withColumn("new",round(rand()*100,1) )frame1.show()//2. 改变现有列
val frame2: DataFrame = frame.withColumn("age", col("age") - 5)frame2.show()  // 打印//3.将现有列派生出新列var a = "省"
val frame3 : DataFrame= frame.withColumn("newCol", col("age")*10)frame3.show()//4.更改数据类型(可以在改变该列的同时进行类型转换)
val frame4 : DataFrame = frame.withColumn("age", col("age").cast("float"))frame4.show// 5.重命名列名(需要使用DataFrame的withColumnRenamed)val frame5: DataFrame = frame.withColumnRenamed("address", "省份")frame5.show()// 6.   删除一个列 (使用drop)val frame6: DataFrame = frame.drop("age")frame6.show()}
}

http://www.yidumall.com/news/87746.html

相关文章:

  • 织梦做网站教程2020最近的新闻大事10条
  • 温州做网站优化山东最新资讯
  • 网站设计与制作服务北京seo人员
  • 江阴网站推广百度推广的五大优势
  • 如何增加网站关键词库在线生成网页网站
  • 在中国做国外网站网站收录情况查询
  • 导购网站自己做电商宝安网站建设
  • 营销类网站设计 要点短视频入口seo
  • 建设网站需要会什么网络营销策划书总结
  • 如何做网站赌博的教程网站页面关键词优化
  • 设计师一般上什么网站怎么做一个网站平台
  • 魔云手机建站企业网站建设哪家好
  • 重庆论坛建站模板百度公司电话
  • 企业网站被黑后如何处理帮人推广的平台
  • 网站框架搭建网络课程
  • 怎么做让网站排名靠前外链交易平台
  • 网站适配手机怎么做烟台百度推广公司
  • 北京海淀网站制作公司网站快速建站
  • 石家庄网站开发与优化湖南网站seo推广
  • 扬州网站建设网站百度宣传推广费用
  • 王也道长小红书seo是什么意思
  • 机械加工完工单站内seo优化
  • 个人小程序源码seo搜索是什么意思
  • 团购网站建设方案软文发布平台与板块
  • 网站建设维护培训会上的讲话如何优化
  • 互联网营销网站建设seo如何挖掘关键词
  • wordpress single_post_titleseo的优化方向
  • 网站上的漂浮怎么做网络营销推广及优化方案
  • 网站描述是什么seo学堂
  • 衡水做企业网站的价格怎么建网站详细步骤