Ваша первая проблема заключается в том, что объект кодировщика не имеет ошибки 'transform'. Это индексатор категорий. Прежде чем вы сможете преобразовать столбцы объекта, вы должны обучить OneHotEncoderEstimator с помощью функции fit (). Таким образом, ваш объект кодера будет учиться на основе данных и сможет передавать данные в закодированные векторы категорий. Большинству моделей индексаторов категорий требуется функция fit () для изучения самих данных.
Итак, что вы должны сделать, это:
encoder = OneHotEncoderEstimator(dropLast=False, inputCol:"AgeIndex", outputCol="AgeVec"
model = encoder.fit(df)
encoded = model.transform(df)
encoded.show()
Также я рекомендую вам прочитать документацию перед началом проекта, если вы новичок в чем-то, документация очень помогает. Раздел spark, который включает в себя операции трансформации, размещен здесь в виде ссылки.
Операции преобразования Spark
Ваша вторая проблема - ошибка импорта, так как вы используете ноутбук, я советую вам проверить среду своего ноутбука. Но ваша версия - это предварительная версия, которая в основном учитывает разработчиков и тестеров. Для начала всегда нужно go для последней протестированной версии. Попробуйте вернуться к spark-2.4.4 и проверить среду ноутбука.