Я пытаюсь провести тест KS на выборке размером около 104 миллионов. Тип данных десятичный, я изменил его на double. Однако я получаю следующую ошибку:
Произошла ошибка при вызове o308.kolmogorovSmirnovTest. : org. apache .spark.SparkException: задание прервано из-за сбоя этапа: задача 3 на этапе 9.0 не удалась 4 раза, последний сбой: потерянная задача 3.3 на этапе 9.0 (TID 3920, ip-10-210-13-18 .ec2.internal, исполнитель 2): java .lang.ClassCastException: [L java .lang.Object; не может быть преобразован в java .lang.Double
Это код, который я использую:
from pyspark.mllib.stat import Statistics
uva2=uva2.withColumn('RESULT', col('RESULT').cast("double"))
df=uva2.select('RESULT').rdd.map(tuple)
test=Statistics.kolmogorovSmirnovTest(df, "norm", 0, 1)
Где столбец RESULT
- это набор образцов, который я хочу проверить нормальность по методу КС. Есть ли у кого-нибудь указатели на то, почему я получаю эту ошибку? Спасибо