我是新来的火花。
我有一个如下数据框。这是一个示例数据框,ID有32个字符,我将其类型转换为整数。
ID, Transaction_amount, Year
11111111111111111111111111111111, 1000, 2016
22222222222222222222222222222222, 2000, 2017
11111111111111111111111111111111, 1000, 2018
33333333333333333333333333333333, 3000, 2018
我想根据ID对数据帧进行分区,并将每个分区写入一个csv文件。所以我写下面的代码。
df
.write
.partitionBy("ID")
.csv("/path")
它给了我一个输出的csv文件,如下所示(当ID = 11111111111111111111111111111111时)。
1000,2016
1000,2018
您可以看到文件中缺少ID值。 因此,我如下更新代码。
df
.withColumn("ID_", $"ID")
.write
.partitionBy("ID_")
.csv("/path")
它给了我以下结果。
,1000,2016
,1000,2018
您可以看到ID值丢失。
我的预期输出csv文件应如下所示(当ID = 11111111111111111111111111111111时)。
11111111111111111111111111111111,1000,2016
11111111111111111111111111111111,1000,2018
作为一个初学者,我认为它与ID的数据类型有关。因为当我将ID的数据类型更改为String时,它给出了如上所述的输出,但是分区并没有按照我想要的方式工作。当我检查一个csv文件时,它是所有ID的集合。
有人可以帮忙我的代码吗? 谢谢:)