将Pyspark数据框转换为eav数据框

时间:2019-07-08 12:17:18

标签: python apache-spark pyspark

我有一个类似下面的数据框

df.show(10)

+--------+------+----------+----------+
| Item ID| Price|Dimensions|Attribute1|
+--------+------+----------+----------+
|10000001|   420|     12.34|      null|
|10000002|   123|      -3.0|     123.4|

我想将其转换为更平坦的EAV类型的帧,以便稍后删除空的属性值等。在给定的示例中,项目id是实体,其余是属性,因此有些df如:

+--------+----------+-------+
| Entity | Attribute| Value |
+--------+----------+-------+
|10000001|     Price|   420 |
|10000001|Dimensions| 12.34 | 
|10000002|     Price|   123 |
|10000002|Dimensions|  -3.0 |
|10000002|Attribute1| 123.4 |

能否仅通过对数据框进行转换来实现此目的,而基本上不使用collect?

0 个答案:

没有答案