Creating an in-Clojure record-reader instance may depend on namespaces not directly in the serialized var dependency set, such as for multimethod or protocol implementations. In order to achieve the desired namespace loading behavior without depending on the order in which the Hadoop implementation happens to create/initialize aspects of the task, we need to try to load namespaces during both record-reader and task-function initialization.
Creating an in-Clojure record-reader instance may depend on namespaces not directly in the serialized var dependency set, such as for multimethod or protocol implementations. In order to achieve the desired namespace loading behavior without depending on the order in which the Hadoop implementation happens to create/initialize aspects of the task, we need to try to load namespaces during both record-reader and task-function initialization.