Я новичок в искре.
У меня есть датафрейм, как показано ниже. Это пример кадра данных, ID имеет 32 символа, и я приведу его тип к целому числу.
ID, Transaction_amount, Year
11111111111111111111111111111111, 1000, 2016
22222222222222222222222222222222, 2000, 2017
11111111111111111111111111111111, 1000, 2018
33333333333333333333333333333333, 3000, 2018
Я хотел разделить фрейм данных по идентификатору и записать каждый раздел в файл 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-файл, это был набор всех идентификаторов.
Может кто-нибудь помочь с моим кодом.
Спасибо :) 1025 *