スパークSQL:dataframe


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();