как файл данных выглядит в отсортированном порядке в случайном порядке? - PullRequest
0 голосов
/ 16 апреля 2019

В последнее время возникают некоторые проблемы с сортировкой в ​​случайном порядке, которые беспокоили меня: 1. Сколько файлов процесс записи в случайном порядке производит? 2 * ядер или 2 * задач? 2. shuffle на основе сортировки создаст два типа файлов: файл данных и индексный файл, так как же выглядит файл данных? Можете ли вы показать мне пример? 3. Сколько ID раздела генерируется в файле данных? На основании чего генерировать partitionID? Будет ли каждая задача генерировать одинаковый диапазон ID-раздела?

1 Ответ

0 голосов
/ 16 апреля 2019

Я предполагаю, что вы называете "суфле на основе сортировки" SortShuffleWriter.

  1. Процесс случайной записи создает 2 файла для каждого ShuffleMapTask, один из них является индексным файлом, а другой - файлом данных. Там могут быть временные файлы разлива, которые создаются во время процесса. Тем не менее, только два файла наконец сохраняются для каждой задачи. При этом количество файлов должно составлять 2 * задания.
  2. Индексный файл содержит информацию о смещении для чтения определенного раздела из файла данных. Эти смещения записываются как Long и рассчитываются по длине разделов. Файл данных содержит все разделы, и данные для каждого раздела являются отдельными внутри файла. То есть элементы перегородок не чередуются.
  3. Количество идентификаторов разделов зависит от разделителя, и диапазон идентификаторов разделов, создаваемых задачами, может различаться.
...