Как построить разреженную матрицу в PySpark?

Я новичок в Spark. Я хотел бы сделать разреженную матрицу матрицей идентификатора пользователя с определенным идентификатором специально для механизма рекомендаций. Я знаю, как бы я сделал это в Python. Как это сделать в PySpark? Вот как бы я сделал это в матрице. Теперь таблица выглядит так.

Session ID| Item ID | Rating
     1          2       1
     1          3       5
    import numpy as np

    data=df[['session_id','item_id','rating']].values
    data

    rows, row_pos = np.unique(data[:, 0], return_inverse=True)
    cols, col_pos = np.unique(data[:, 1], return_inverse=True)

    pivot_table = np.zeros((len(rows), len(cols)), dtype=data.dtype)
    pivot_table[row_pos, col_pos] = data[:, 2]

Ответы на вопрос(1)

Ваш ответ на вопрос