我有一个类似下面的数据框
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?