【发布时间】:2022-09-23 04:26:54
【问题描述】:
我有如下数据
输入 Df
+----------+-----------------------------------+--------------|
|SALES_NO |SALE_LINE_NUM | CODE_1 | CODE_3 | CODE_2 |
+----------+----------------------------|------+---|----------|
|123 |1 | ABC | E456 | GHF989 |
|123 |2 | EDF | EFHJ | WAEWA |
|234 |1 | 2345 | 985E | AWW |
|234 |2 | WERWE | | |
|234 |3 | ERC | AERER | |
|456 |1 | WER | AWER | |
+----------+-----------------------------------+--------------|
输出将创建如下:对于每个唯一的 sales_no,sales_line_num 如果 code 不为 null 并且 order 相同,则为不同的 code 列创建一个新行。
对于 code_1,order 为 1。
对于 code_2,order 为 2。
输出df
SALES_NO SALES_LINE_NUM CODE ORDER
123 1 ABC 1
123 1 E456 2
123 1 GHF989 3
123 2 EDF 1
123 2 EFHJ 2
123 2 WAEWA 3
234 1 2345 1
234 1 985E 2
234 1 AWW 3
234 2 WERWE 1
234 3 ERC 1
234 3 AERER 2
456 1 WER 1
456 1 AWER 2
有人可以帮忙吗?提前致谢
-
这看起来很标准
pivot- 那里有很多信息。
标签: arrays apache-spark pyspark apache-spark-sql explode