#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() в качестве случайного индекса и получите элемент в списке в соответствии со случайным индексом