Меня немного смущает вопрос, почему функции Spark Mllib ETL, например, MinMaxScaler , требуют, чтобы векторы собирались вместо простого использования столбца из кадра данных. Т.е. вместо возможности сделать это:
scaler = MinMaxScaler(inputCol="time_since_live", outputCol="scaledTimeSinceLive")
main_df = scaler.fit(main_df).transform(main_df)
Мне нужно сделать это:
assembler = VectorAssembler(inputCols=['time_since_live'],outputCol='time_since_liveVect')
main_df = assembler.transform(main_df)
scaler = MinMaxScaler(inputCol="time_since_liveVect", outputCol="scaledTimeSinceLive")
main_df = scaler.fit(main_df).transform(main_df)
Кажется, что это такой ненужный шаг, потому что я в конечном итоге создать вектор с одним входом столбец для запуска MinMaxScaler. Зачем нужно, чтобы это было в векторном формате, а не просто в столбце данных?