По формату, это скорее не hash map, а columnar storage с отимизациями, типа пуш даун предиката, которые "вшиты" в код через кодогенерацию. По крайней мере, я так это понял когда ковырялся со сгенеренным кодом (искал баг).
Мало инфы. В какой формат сохраняешь? Какие трансформации применяешь? Размер объектов в json примерно одинаков или есть крупные выбросы? Если разбить на 10 файлов, то по отдельности все выполнятся?