Запуск Map () параллельно на нескольких ядрах? - PullRequest
0 голосов
/ 09 мая 2018

Имеется датафрейм с двумя столбцами списков JSON, подобный этому:

col1
"[34454,31843,33239,34885,34352,42294,26603,55449,34710,49235,37558,82942,38028,58170,42772,27700,28464,28917,31902,41082,37089,67366,48616,46706,31464,30308,33832,30485,50838,38225,59758,47311,33747,32972,34903,32729,52274,38895,45899,32511,31189,33756,32684,47994,38019,31623,31751,32144,32398,44909,36542,160950,59383,53569,39797,36029,15031,15031,113913,33540,106166,62518,36407,44354,36237,47610]"

....

col2
"[14,7,5,3,4,0,1,7,2,3,1,18,13,4,23,7,8,8,11,18,15,6,2,10,2,4,8,5,11,5,1,5,2,4,3,1,6,8,5,5,3,1,1,4,5,2,9,3,4,11,11,14,3,12,2,6,0,0,15,1,18,5,3,6,6,6]"

Я привел пример одной строки, но на самом деле у меня миллионы строк с col1 и col2.

Я хочу применить следующую формулу: col1/number1 / col2/ number2 где number1 и number2 - это просто числа типа 1,3,4 ...

Вот что я сделал до сих пор, и мне нужна ваша помощь, чтобы сделать это быстрее, используя параллельные вычисления с несколькими ядрами, такими как parallel::parSapply.

Map(`/`, lapply(df$col1, function(i) {fromJSON(i) / number1}), 
              lapply(df$col2, function(i) {fromJSON(i) / number2}))

Посоветуйте, пожалуйста, как запустить Map или любой другой аналог, но параллельно, используя мои ядра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...