ShapefileReader.readToGeometryRDD вызывает попытки доступа к методу com.google.common.base.Stopwatch - PullRequest
1 голос
/ 07 марта 2019

При попытке прочитать шейп-файл ESRI с помощью приведенного ниже кода я в итоге получаю следующую ошибку:

Исключение в потоке "main" java.lang.IllegalAccessError: попытался получить доступ к методу com.google.common.base.Stopwatch. () V из класса org.apache.hadoop.mapreduce.lib.input.FileInputFormat

Код:

import org.apache.spark.rdd.RDD
import org.apache.spark.sql.SparkSession
import org.datasyslab.geospark.formatMapper.shapefileParser.ShapefileReader
import org.locationtech.jts.geom.{Coordinate, GeometryFactory, Point}

object GetRandomData {

  def main(sysArgs: Array[String]) {

    @transient val spark: SparkSession = {
      SparkSession
        .builder()
        .config("spark.ui.enabled", "false")
        .config("spark.serializer", "org.apache.spark.serializer.KryoSerializer")
        .config("spark.kryoserializer.buffer.mb", "24")
        .appName("GetRandomData")
        .master("local[*]")
        .getOrCreate()
    }
    val sc = spark.sparkContext
    sc.setLogLevel("ERROR")

    System.setProperty("geospark.global.charset", "utf8")

    val shapefileInputLocation = "~/Downloads/shapefile_folder/shapefile.shp"
    val spatialRDD = ShapefileReader.readToGeometryRDD(sc, shapefileInputLocation)
  }
}
...