Spark DataFrame 函数

DataFrame 一旦被创建,则可被DataFrame, column和 function中的函数操作,这些函数叫做 domain-specific-language (DSL) 函数。

 

DataFrame函数和RDD一样,也分为action和transformation,且后者是惰性的。

 

Spark 1.5.1函数:

dataframe:

http://spark.apache.org/docs/1.5.1/api/scala/index.html#org.apache.spark.sql.DataFrame

 

column:

http://spark.apache.org/docs/1.5.1/api/scala/index.html#org.apache.spark.sql.Column

 

functions:

http://spark.apache.org/docs/1.5.1/api/scala/index.html#org.apache.spark.sql.functions$

 

 

新增列同名时会报错

import org.apache.spark.sql.functions.explode
import org.apache.spark.sql.functions.col

 val words1=sc.parallelize(Seq((1,Array("sun", "rises", "in"))))
    val words2=sc.parallelize(Seq((1,Map(("k1","v1"),("k2","v2"),("k3","v3")))))
    words1.toDF("key","values").withColumn("value",explode(col("values"))).show
    words1.toDF("key","values").select(col("key"),explode(col("values"))).toDF("key","value").show
   // words2.toDF("key","values").withColumn("key",explode(col("values"))).show //报错,有两列,却只有一个列名
    words2.toDF("key","values").select(col("key"),explode(col("values"))).toDF("key","subkey","value").show


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值