DataFrame API应用案例

DataFrame API

1、collect与collectAsList

、 collect返回一个数组,包含DataFrame中的全部Rows

  collectAsList返回一个Java List,包含DataFrame中包含的全部Rows

  

  

2、count

  返回DataFrame的rows的个数

  

 3、first

  返回第一个row

  

4、head

  不带参数的head方法,返回DataFrame的第一个Row。指定参数n时,则返回前那个Rows

   

 5、show  

  不带参数的show,显示前20个Rows,指定个数n,则显示n个

  

6、take

  返回DataFrame前n个Rows

  

7、cache

  将DataFrame缓存到内存中

8、Columns

  以数组的形式返回DataFrame的全部列名

  

9、dtypes

  以数组的形式返回DataFrame的所有列名及其对应的数据类型

  

10、explain

  用于调试的目的,不带参数时,仅将DataFrame的物理计划打印到控制台上;当指定参数extended为true时,打印所有计划到控制台上,包括物理计划、逻辑计划

  

11、isLocal

  如果collect与take方法在本地运行时,返回true

  

12、printSchema

  以树形结构将DataFrame的Schema信息打印到控制台

  

13、registerTempTable

  将DataFrame注册为指定名字的临时表

     

14、schema

  返回DataFrame的Schema信息,对应类型为StructType

  

15、toDF

  不带参数的toDF返回它本身,带字符串数组的参数时,返回新的DataFrame,该DataFrame重命名了各列名

  

16、agg

  将DataFrame提供不需要经过groups就可以执行的统计操作

  

17、apply

  根据指定列名返回DataFrame的列,类型为Column

    

18、as

  使用别名创建DataFrame

19、distinct

  返回对DataFrame的Rows去重后的DataFrame

  

20、except

  返回DataFrame,包含当前Frame的Rows,同时这些Rows不在另一个Frame中。相当于两个DataFrame做减法

  

21、explode

  返回一个新的DataFrame,其中原来的每一列被指定的函数扩展成零行或多行  

    

  

22、filter

  按参数指定的sql表达式的条件过滤DataFrame

  

23、groupBy

  使用一个或多个指定的列队DataFrame进行分组,以便对他们执行聚合操作

   

24、intersect

  取两个DataFrame中同时存在的Rows,返回DataFrame

  

25、join

      

26、limit

  返回DataFrame的前n个Rows

  

27、orderBy和sort

  按指定的一列或多列进行排序,分别支持字符串或Column的参数列表

  

  

28、sample

  按指定因子对DataFrame的Rows进行抽样,如果指定withReplacement为true时,使用指定的种子或随机的种子进行替换。

  

29、select

  从DataFrame中选取指定的列,返回DataFrame,指定列有三种方式,可以用列名字符串的重复参数,或Column重复参数及列名表达式的多个参数指定

  

  

30、unionAll

  联合调用者和参数这两个DataFrame的Rows

    

31、withColumn和withColumnRenamed

  对DataFrame列进行操作,withColumn增加列信息,withColumnRenamed对列进行重命名

  

32、save

  保存到指定路径下

  

  

33、saveAsParquetFile

  保存到数据源为parquet的指定路径下

  

  

34、flatMap

  对DataFrame中Rows进行处理,并且处理结果

  

35、foreach

    

36、map和mapPartitions

  map将DataFrame的Row按指定的函数参数映射成R实例,并返回以R为元素的类型的RDD实例。mapPartitions类似

  

37、repartition

  返回一个DataFrame,该DataFrame按指定numPartitions对原DataFrame进行重分区

  

38、toJSON

  把DataFrame的内容用包含json字符串的RDD返回

  

39、queryExecution

  返回DataFrame的查询执行语句,包含逻辑计划和物理计划

  

 

posted @ 2017-06-17 18:06  liurio  阅读(1002)  评论(0编辑  收藏  举报