Supondo que você tenha dados representados por um vetor de mapas:
(def data [{:lastname "Brown" :firstname "John"}
{:lastname "Brown" :firstname "Jack"}
{:lastname "Apple" :firstname "Bruce"}
{:lastname "Crown" :firstname "King"}])
Para classificá-lo por: sobrenome e, em seguida, por: primeiro nome, você pode usar um snippet incrível de clojure:
(sort-by (juxt :lastname :firstname) data)