示例:如何pivot和unpivot DataFrame
Spark pivot()函数用于将数据从一个DataFrame/Dataset列pivot/旋转到多个列(将行转换为列),而unpivot用于将其转换回来(将列转换为行)。
pivot()是一种聚合,其中一个分组列值转换为具有不同数据的单独列。
首先,创建一个示例DataFrame,代码如下:
val data = Seq( ("Banana",1000,"美国"), ("Carrots",1500,"美国"), ("Beans",1600,"美国"), ("Orange",2000,"美国"), ("Orange",2000,"美国"), ("Banana",400,"中国"), ("Carrots",1200,"中国"), ("Beans",1500,"中国"), ("Orange",4000,"中国"), ("Banana",2000,"加拿大"), ("Carrots",2000,"加拿大"), ("Beans",2000,"墨西哥")) import spark.sqlContext.implicits._ val df = data.toDF("Product","Amount","Country") df.show()
执行以上代码,输出内容如下:
+-------+------+-------+ |Product|Amount|Country| +-------+------+-------+ | Banana| 1000| 美国| |Carrots| 1500| 美国| | Beans| 1600| 美国| | Orange| 2000| 美国| | Orange| 2000| ............
抱歉,只有登录会员才可浏览!会员登录