Я пытаюсь выполнить агрегацию с использованием mapGroups
, которая возвращает SparseMatrix как один из столбцов и суммирует столбцы.Как создать TypedColumn в наборе Spark Dataset и управлять им?
Я создал схему для отображаемых строк, чтобы указать имена столбцов. Набирается матричный столбец org.apache.spark.mllib.linalg.Matrix
. Если я не запускаю toDF
перед выполнением агрегации (select(sum("mycolumn")
), я получаю ошибку несоответствия типа (required: org.apache.spark.sql.TypedColumn[MySchema,?]
). Если я включаю toDF
, я получаю ошибку несоответствия типа: cannot resolve 'sum(mycolumn)' due to data type mismatch: function sum requires numeric types, not org.apache.spark.mllib.linalg.MatrixUDT
. Итак, каков правильный способ сделать это?
Спасибо. Можете ли вы предложить решение проблемы с добавлением? Вот где я сейчас застрял. – Emre
Существуют ли матрицы плотные или редкие? Какой размер? – zero323
Довольно мелкие и редкие; достаточно маленький, чтобы поместиться на узле. – Emre