Я новичок в python, и я пытаюсь параллельно масштабировать свою обработку. У меня есть файл с определенным количеством кортежей, каждый из которых имеет определенное значение в последнем столбце. Я хочу разделить данные этого файла и применить свою функцию параллельно к каждому фрагменту. Но дело в том, чтобы разбить данные на части на основе значения последнего столбца и применить функцию для каждого фрагмента. Например, последний столбец может иметь «a» для некоторых кортежей, «b» для некоторых и «c» для некоторых. Итак, в этом случае я должен получить три куска и обработать их параллельно. Количество уникальных значений в последнем столбце может измениться в зависимости от набора данных, поэтому мне нужно соответственно использовать ЦП.
Q1: То, что я пытался до сих пор, - это прочитать файл и создать словарь на основе этих записей, так что в основном три пары ключ-значение для приведенной выше, одна с 'a' в качестве ключа и все записи, имеющие 'a' в качестве значений и то же самое для 'b' и 'c'. Я могу использовать chunksize в многопроцессорной обработке, но здесь это не размер, он основан на ключе, так как я могу этого добиться?
Q2: После обработки вышеуказанных фрагментов мне нужен вывод всего вместе, порядок не имеет значения, а затем мне нужно использовать весь вывод для дальнейшей обработки, как я могу заставить мою основную программу ждать завершения всех этих процессов?
Сообщите мне, если потребуется дополнительная информация. Спасибо.