DataFrame 的函数 
Action 操作 
1、 collect() ,返回值是一个数组,返回dataframe集合所有的行 
2、 collectAsList() 返回值是一个Java类型的数组,返回dataframe集合所有的行 
3、 count() 返回一个number类型的,返回dataframe集合的行数 
4、 describe(cols: String*) 返回一个通过数学计算的类表值(count, mean, stddev, min, and max),这个可以传多个参数,中间用逗号分隔,如果有字段为空,那么不参与运算,只这对数值类型的字段。例如df.describe(“age”, “height”).show() 
5、 first() 返回第一行 ,类型是row类型 
6、 head() 返回第一行 ,类型是row类型 
7、 head(n:Int)返回n行 ,类型是row 类型 
8、 show()返回dataframe集合的值 默认是20行,返回类型是unit 
9、 show(n:Int)返回n行,,返回值类型是unit 
10、 table(n:Int) 返回n行 ,类型是row 类型 
dataframe的基本操作 
1、 cache()同步数据的内存 
2、 columns 返回一个string类型的数组,返回值是所有列的名字 
3、 dtypes返回一个string类型的二维数组,返回值是所有列的名字以及类型 
4、 explan()打印执行计划 物理的 
5、 explain(n:Boolean) 输入值为 false 或者true ,返回值是unit 默认是false ,如果输入true 将会打印 逻辑的和物理的 
6、 isLocal 返回值是Boolean类型,如果允许模式是local返回true 否则返回false 
7、 persist(newlevel:StorageLevel) 返回一个dataframe.this.type 输入存储模型类型 
8、 printSchema() 打印出字段名称和类型 按照树状结构来打印 
9、 registerTempTable(tablename:String) 返回Unit ,将df的对象只放在一张表里面,这个表随着对象的删除而删除了 
10、 schema 返回structType 类型,将字段名称和类型按照结构体类型返回 
11、 toDF()返回一个新的dataframe类型的 
12、 toDF(colnames:String*)将参数中的几个字段返回一个新的dataframe类型的, 
13、 unpersist() 返回dataframe.this.type 类型,去除模式中的数据 
14、 unpersist(blocking:Boolean)返回dataframe.this.type类型 true 和unpersist是一样的作用false 是去除RDD

集成查询: 
1、 agg(expers:column*) 返回dataframe类型 ,同数学计算求值 
df.agg(max(“age”), avg(“salary”)) 
df.groupBy().agg(max(“age”), avg(“salary”)) 
2、 agg(exprs: Map[String, String]) 返回dataframe类型 ,同数学计算求值 map类型的 
df.agg(Map(“age” -> “max”, “salary” -> “avg”)) 
df.groupBy().agg(Map(“age” -> “max”, “salary” -> “avg”)) 
3、 agg(aggExpr: (String, String), aggExprs: (String, String)*) 返回dataframe类型 ,同数学计算求值 
df.agg(Map(“age” -> “max”, “salary” -> “avg”)) 
df.groupBy().agg(Map(“age” -> “max”, “salary” -> “avg”)) 
4、 apply(colName: String) 返回column类型,捕获输入进去列的对象 
5、 as(alias: String) 返回一个新的dataframe类型,就是原来的一个别名 
6、 col(colName: String) 返回column类型,捕获输入进去列的对象 
7、 cube(col1: String, cols: String*) 返回一个GroupedData类型,根据某些字段来汇总 
8、 distinct 去重 返回一个dataframe类型 
9、 drop(col: Column) 删除某列 返回dataframe类型 
10、 dropDuplicates(colNames: Array[String]) 删除相同的列 返回一个dataframe 
11、 except(other: DataFrame) 返回一个dataframe,返回在当前集合存在的在其他集合不存在的 
12、 explode[A, B](inputColumn: String, outputColumn: String)(f: (A) ⇒ TraversableOnce[B])(implicit arg0: Scala.reflect.api.JavaUniverse.TypeTag[B]) 返回值是dataframe类型,这个 将一个字段进行更多行的拆分 
df.explode(“name”,”names”) {name :String=> name.split(” “)}.show(); 
将name字段根据空格来拆分,拆分的字段放在names里面 
13、 filter(conditionExpr: String): 刷选部分数据,返回dataframe类型 df.filter(“age>10”).show(); df.filter(df(“age”)>10).show(); df.where(df(“age”)>10).show(); 都可以 
14、 groupBy(col1: String, cols: String*) 根据某写字段来汇总返回groupedate类型 df.groupBy(“age”).agg(Map(“age” ->”count”)).show();df.groupBy(“age”).avg().show();都可以 
15、 intersect(other: DataFrame) 返回一个dataframe,在2个dataframe都存在的元素 
16、 join(right: DataFrame, joinExprs: Column, joinType: String) 
一个是关联的dataframe,第二个关联的条件,第三个关联的类型:inner, outer, left_outer, right_outer, leftsemi 
df.join(ds,df(“name”)===ds(“name”) and df(“age”)===ds(“age”),”outer”).show(); 
17、 limit(n: Int) 返回dataframe类型 去n 条数据出来 
18、 na: DataFrameNaFunctions ,可以调用dataframenafunctions的功能区做过滤 df.na.drop().show(); 删除为空的行 
19、 orderBy(sortExprs: Column*) 做alise排序 
20、 select(cols:string*) dataframe 做字段的刷选 df.select("colA",”colB” + 1) 
21、 selectExpr(exprs: String*) 做字段的刷选 df.selectExpr(“name”,”name as names”,”upper(name)”,”age+1”).show(); 
22、 sort(sortExprs: Column*) 排序 df.sort(df(“age”).desc).show(); 默认是asc 
23、 unionAll(other:Dataframe) 合并 df.unionAll(ds).show(); 
24、 withColumnRenamed(existingName: String, newName: String) 修改列表 df.withColumnRenamed(“name”,”names”).show(); 
25、 withColumn(colName: String, col: Column) 增加一列 df.withColumn(“aa”,df(“name”)).show();

spark dataframe函数编程的更多相关文章

  1. spark dataframe unionall

    今天本来想写一个spark dataframe unionall的demo,由于粗心报下面错误: Exception in thread "main" org.apache.spa ...

  2. spark dataframe操作集锦(提取前几行,合并,入库等)

    https://blog.csdn.net/sparkexpert/article/details/51042970 spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能.当 ...

  3. spark DataFrame 常见操作

    spark dataframe派生于RDD类,但是提供了非常强大的数据操作功能.当然主要对类SQL的支持. 在实际工作中会遇到这样的情况,主要是会进行两个数据集的筛选.合并,重新入库. 首先加载数据集 ...

  4. Spark DataFrame中的join使用说明

    spark sql 中join的类型 Spark DataFrame中join与SQL很像,都有inner join, left join, right join, full join; 类型 说明 ...

  5. spark dataframe 类型转换

    读一张表,对其进行二值化特征转换.可以二值化要求输入类型必须double类型,类型怎么转换呢? 直接利用spark column 就可以进行转换: DataFrame dataset = hive.s ...

  6. 转】Spark DataFrame小试牛刀

    原博文出自于: https://segmentfault.com/a/1190000002614456 感谢! 三月中旬,Spark发布了最新的1.3.0版本,其中最重要的变化,便是DataFrame ...

  7. Spark DataFrame写入HBase的常用方式

    Spark是目前最流行的分布式计算框架,而HBase则是在HDFS之上的列式分布式存储引擎,基于Spark做离线或者实时计算,数据结果保存在HBase中是目前很流行的做法.例如用户画像.单品画像.推荐 ...

  8. spark DataFrame 读写和保存数据

    一.读写Parquet(DataFrame) Spark SQL可以支持Parquet.JSON.Hive等数据源,并且可以通过JDBC连接外部数据源.前面的介绍中,我们已经涉及到了JSON.文本格式 ...

  9. spark DataFrame的创建几种方式和存储

    一. 从Spark2.0以上版本开始,Spark使用全新的SparkSession接口替代Spark1.6中的SQLContext及HiveContext接口来实现其对数据加载.转换.处理等功能.Sp ...

随机推荐

  1. ZOJ 2849【瞎暴力的搜索】

    思路: 靠评测机抖一抖的思路: 拿个队列维护一下符合类型的可以搜索(指四周还存在可以遍历的点)的点.然后暴力搜索,所以问题来了,这个暴力搜索会大大地重复遍历次数. DFS遍历图以前一直忽略重复,以为搜 ...

  2. Ocelot - .Net Core开源网关

    Ocelot - .Net Core开源网关 作者:markjiang7m2 原文地址:https://www.cnblogs.com/markjiang7m2/p/10857688.html 源码地 ...

  3. 洛谷P1083 借教室

    P1083 借教室 题目描述 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借 ...

  4. Mysql-7-mysql函数

    1.数学函数 用来处理数值数据方面的运算,主要的数学函数有:绝对值函数,三角函数,对数函数,随机函数.使用数学函数过程中,如果有错误产生,该函数会返回null值. 数学函数 功能介绍 组合键 abs( ...

  5. 移动web 的viewport设置注意事项的详细解释 六一快乐=-_-_

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. 1089 Insert or Merge(25 分)

    According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and gr ...

  7. windows下运行jar

    run.bat 1. javaw运行 @echo offstart javaw -Xmx128m -Xms64m -jar testlog.jarexit 2.java运行 @echo offjava ...

  8. linux下WPS的使用

    WPS退出了wps for linux ,高版本的一直安装不上,低版本的原来在桌面都有图标,重装后安装位置不是很明显打开关闭不是很方便.并且也不利于在终端模式下使用.现简单总结一下wps的表格 文字 ...

  9. Raymond Mill In Lisp

    Raymond Mill is suitable for producing minerals powder, which is widely used in the metallurgy, buil ...

  10. Spark编程环境搭建及WordCount实例

    基于Intellij IDEA搭建Spark开发环境搭建 基于Intellij IDEA搭建Spark开发环境搭——参考文档 ● 参考文档http://spark.apache.org/docs/la ...