преобразование pyspark для массива в вектор в Spark - PullRequest
0 голосов
/ 30 сентября 2018

Я использую pyspark

У меня есть эта функция, которая создает фиктивный SparkVector из массива Spark

def to_sparse():      
    return F.udf(lambda x:  SparseVector(2, [2, 2], [4, 4]), VectorUDT())

Когда я пытаюсь

 embedding_rdd_array =  embedding_rdd.select("embedding", to_sparse()('embedding').alias("something"))

, он выдаетTypeError: в скалярный индекс могут быть преобразованы только целочисленные скалярные массивы

Схема ввода представляет собой просто двойной массив

 root
 |-- embedding: array (nullable = true)
 |    |-- element: double (containsNull = true)

, когда я собираю и передаю элемент вложения в вектор itработает.но когда я звоню в UDF, это не получается.

...