上下文:我正在编写要在 Amazon EMR 中运行的 Cascalog 作业。Cascalog 是一个基于 clojure 的运行 MapReduce 的库。当作业由于一些奇怪的类加载异常而失败时。
在工作中,我使用了一个名为 geocoder 的库,它是一个基于 clojure 的 geoip 查找库。特别是我使用了查看 maxmind GeoLiteCity.dat 文件的库部分。我发现导致作业失败的代码部分是使用地理编码器库的部分。**
最奇怪的是,虽然删除这部分代码会导致工作成功,但注释掉不会......只是想知道是否有人知道发生了什么?
** 我像这样使用地理编码器库的方式
(ns utils.geoip (:use [geocoder.core]))
然后我的工作将需要以上
(ns myjob (:require [utils.geoip :as geoip]))