Есть ли возможность распараллелить функцию с помощью pyspark?

#python #apache-spark #pyspark

#python #apache-spark #pyspark

Вопрос:

Я хочу использовать pyspark для распараллеливания методов python, например, с помощью функции map. Есть ли вероятность, что каждый RDD получает ровно одну функцию отображения?

Например: я создаю два RDD типа rdd = sc.parallelize([1,2],2), и теперь я хочу сопоставить каждый RDD с функцией типа rdd.map(lambda x: func(x)) . В функции func мне нужно новое случайное число для каждого RDD. Но это не работает с local [2], потому что они используют одно и то же случайное число.

Есть ли кто-нибудь, кто может мне помочь?

Комментарии:

1. используйте dataframe и pyspark.sql.functions.rand() функцию

2. Привет @mck, спасибо за ваш комментарий. Есть ли альтернатива. Потому что мне нужно случайное число из определенного списка, например, list = [10,20,30,40,50], которое используется в функции.

3. используйте pyspark.sql.functions.rand() в качестве случайного индекса и получите элемент в списке в соответствии со случайным индексом