マイクロアドのサーバサイドエンジニアの松宮です。今回はプログラミングのTips的な記事になります。 タイトルの通り、「SparkでGeoIP2を使うとjava.lang.NoSuchMethodErrorが発生する問題の回避方法」を説明したいと思っておりまして、というのも、SparkでGeoIP2ライブラリの依存を上手く解決できずに、結構時間を使ってしまったので、犠牲者を増やさないためにもこの場でみなさんに共有したいと思います。 事象と解決策を先に示して、詳細な原因は後述しますので、解決策だけ早く知りたい方は前半まで読んでもらえれば大丈夫です。 前提 言語はScala/Java ビルドツールはsbt or Maven 実行可能なjarを生成するために本記事ではsbt-assemblyを使っている Sparkのバージョンは最新の2.3.2 (2018年8月現在) GeoIP2ライブラリのバー