Я ищу реализацию Java алгоритма сортировки. Файл может быть ОГРОМНЫМ, скажем, 20000 * 600 = 12 000 000 строк записей. Строка разделена запятой с 37 полями, и мы используем 5 полей в качестве ключей. Можно ли это быстро отсортировать, скажем, за 30 минут?
Если у вас есть другой подход, кроме java, приветствуется, если его можно легко интегрировать в систему java. Например, утилита unix.
Спасибо.
Редактировать: строки должны быть отсортированы по 600 файлам, по 20000 строк по 4 МБ для каждого файла. Наконец я хотел бы, чтобы они были 1 большим отсортированным файлом.
Я пытаюсь рассчитать время сортировки Unix, обновлю это потом.
Edit:
Я добавил все файлы в один большой и попробовал функцию сортировки Unix, это довольно хорошо. Время сортировки файла 2 ГБ составляет 12-13 минут. Действие добавления требует 4 минуты для 600 файлов.
sort -t ',' -k 1,1 -k 4,7 -k 23,23 -k 2,2r big.txt -o sorted.txt