Проблема
a['key'], имеет линейную сложность (как упомянуто здесь) и может быть неэффективным. Это связано с тем, что для выбора значения по определённому ключу из таблицы пришлось бы перебирать все ключи (~M) во всех строках (N) столбца Map, что в итоге даёт ~MxN операций поиска.
Поиск с использованием Map может быть в 10 раз медленнее, чем в столбце String. Приведённый ниже эксперимент также показывает замедление примерно в 10 раз для холодного запроса и разницу на несколько порядков в объёме обработанных данных (7.21 MB против 5.65 GB).