scala – 折叠Spark DataFrame
发布时间:2020-12-16 18:14:16 所属栏目:安全 来源:网络整理
导读:我正在使用Spark和 Scala. Spark版本1.5和我正在尝试将具有名称值组合的输入数据帧转换为新数据帧,其中所有名称都要转换为列,值作为行转换. I / P DataFrame: ID Name Value 1 Country US 2 Country US 2 State NY 3 Country UK 4 Country India 4 State MH
我正在使用Spark和
Scala. Spark版本1.5和我正在尝试将具有名称值组合的输入数据帧转换为新数据帧,其中所有名称都要转换为列,值作为行转换.
I / P DataFrame: ID Name Value 1 Country US 2 Country US 2 State NY 3 Country UK 4 Country India 4 State MH 5 Country US 5 State NJ 5 County Hudson Link here for image 转置的DataFrame ID Country State County 1 US NULL NULL 2 US NY NULL 3 UK NULL NULL 4 India MH NULL 5 US NJ Hudson Link to transposed image 任何指针/帮助? 解决方法
这是一个非常难看的数据,但您可以随时过滤和加入:
val names = Seq("Country","State","County") names.map(name => df.where($"Name" === name).select($"ID",$"Value".alias("name")) ).reduce((df1,df2) => df1.join(df2,Seq("ID"),"leftouter")) map创建一个包含三个DataFrame的列表,其中每个表包含仅包含单个名称的记录.接下来,我们使用左外连接简化减少此列表.所以把它们放在一起就可以得到这样的东西: (left-outer-join (left-outer-join (where df (=== name "Country")) (where df (=== name "State"))) (where df (=== name "County"))) 注意:如果您使用Spark> = 1.6与Python或Scala,或Spark> = 2.0与R,请使用pivot with first: > Reshaping/Pivoting data in Spark RDD and/or Spark DataFrames (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- angular – 如何创建具有延迟的observable
- 解析 – 在Scala中的RegexpParsers,StandardTokenParsers和
- 如何使用ValueMapper使用Scala更改Kafka Streams 10.2中的值
- Angular2图像没有显示
- bootstrap-4 – 使用bootstrap 4缺少col-xs大小
- BootStrap的JS插件之轮播效果案例详解
- Angular 2 + 折腾记 :(5) 动手实现一个自定义管道
- Angular2发布思路(整理官网Deployment页面)
- Angular2 – 具有相同路线的两个组件
- scala – 访问名为“type”的java成员变量