У меня был и массив строк, длина которых 50000. Я пытаюсь создать матрицу подобия измерения 50000 * 500000. Чтобы сделать это, я попытался сформировать список кортежей, используя следующий код:
terms = [element for element in itertools.product(array1,array1)]
Но я получаю ошибку памяти или ошибку ядра.Он не мог двигаться вперед.
Я также следовал за этим вопросом при переполнении стека: Spark Уникальная пара в декартовом произведении Это очень похоже на мою реализацию вычисления расстояний (из-за симметрии я могу использовать верхнюю илинижний треугольник в матрице).Есть ли способ сделать это с помощью искры или любых других способов работы с разделами или другими способами.Любая идея будет оценена.
Пример игрушки для небольшого массива:
array1 = np.array(['hello', 'world', 'thankyou'])
terms = [element for element in itertools.product(array1,array1)]
Вывод терминов:
[('hello', 'hello'),
('hello', 'world'),
('hello', 'thankyou'),
('world', 'hello'),
('world', 'world'),
('world', 'thankyou'),
('thankyou', 'hello'),
('thankyou', 'world'),
('thankyou', 'thankyou')]