Я использую Spark в последнее время и столкнулся с проблемой при попытке сохранить Spark DataFrame.Сохранение Spark DataFrame как CSV дает InvalidClassException
Если я использую функцию .save
overthing работает отлично:
df.write.save("SparkTest_output")
Но если я пытаюсь с помощью .csv
или .json
(или любого другого типа расширения). Пример:
df.write.csv("SparkTest_output")
Я получаю InvalidClassException
:
java.io.InvalidClassException: org.apache.commons.lang3.time.FastDateFormat; local class incompatible: stream classdesc serialVersionUID = 1, local class serialVersionUID = 2
at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:621)
at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518)...etc
После прочтения всего я узнал, что это исключение может происходить с ошибками версии, но я не знаю, как это может быть случай, когда я m запускает только один файл на Spark 2.0.2.1. Кто-нибудь еще сталкивается с этим, или у кого-нибудь есть рекомендации? Благодаря
Here are the DataFrame write member functions from the docs
Я не указать пакет, потому что с поддержкой Спарк 2.0+ для файлов CSV приходит построен (без необходимых внешних пакетов) – ralston
Хорошая точка в этом конкретном случае. –