ShapefileReader.readToGeometryRDD вызывает попытку доступа к методу com.google.common.base.Секундомер

#scala #apache-spark #jts

#scala #apache-spark #jts

Вопрос:

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

Исключение в потоке «main» java.lang.Ошибка незаконного доступа: пытался получить доступ к методу com.google.common.base.Секундомер.()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)
  }
}