Skip to content
🎉 Apache Sedona 1.8.1 is now available! Check out the new features and improvements.

Parameter

Usage

SedonaSQL supports many parameters. To change their values,

  1. Set it through SparkConf:
sparkSession = SparkSession.builder().
      config("spark.serializer","org.apache.spark.serializer.KryoSerializer").
      config("spark.kryo.registrator", "org.apache.sedona.core.serde.SedonaKryoRegistrator").
      config("sedona.global.index","true")
      master("local[*]").appName("mySedonaSQLdemo").getOrCreate()
  1. Check your current SedonaSQL configuration:
val sedonaConf = new SedonaConf(sparkSession.conf)
println(sedonaConf)
  1. Sedona parameters can be changed at runtime:
sparkSession.conf.set("sedona.global.index","false")

In addition, you can also add spark prefix to the parameter name, for example:

sparkSession.conf.set("spark.sedona.global.index","false")

However, any parameter set through spark prefix will be honored by Spark, which means you can set these parameters before hand via spark-defaults.conf or Spark on Kubernetes configuration.

If you set the same parameter through both sedona and spark.sedona prefixes, the parameter set through sedona prefix will override the parameter set through spark.sedona prefix.

General Parameters

Parameter Description Default Possible Values
sedona.global.index Use spatial index (currently, only supports in SQL range join and SQL distance join) true true, false
sedona.global.indextype Spatial index type, only valid when sedona.global.index is true rtree rtree, quadtree
spark.sedona.enableParserExtension Enable the parser extension to parse GEOMETRY data type in SQL DDL statements true true, false

Join Parameters

Parameter Description Default Possible Values
sedona.join.autoBroadcastJoinThreshold Maximum size in bytes for a table that will be broadcast to all worker nodes when performing a join. Set to -1 to disable automatic broadcasting. Same as spark.sql.autoBroadcastJoinThreshold Any integer with a byte suffix, e.g. 10MB or 512KB
sedona.join.gridtype Spatial partitioning grid type for join query kdbtree quadtree, kdbtree
spark.sedona.join.knn.includeTieBreakers KNN join will include all ties in the result, possibly returning more than k results false true, false
sedona.join.indexbuildside (Advanced) The side which Sedona builds spatial indices on left left, right
sedona.join.numpartition (Advanced) Number of partitions for both sides in a join query -1 (use existing partitions) Any integer
sedona.join.spatitionside (Advanced) The dominant side in spatial partitioning stage left left, right
sedona.join.optimizationmode (Advanced) When Sedona should optimize spatial join SQL queries nonequi all (always optimize, even equi-joins), none (disable optimization), nonequi (optimize non-equi-joins only)

CRS Transformation Parameters

Parameter Description Default Possible Values Since
spark.sedona.crs.geotools Controls which library is used for CRS transformations in ST_Transform raster none (proj4sedona for all), raster (proj4sedona for vector, GeoTools for raster), all (GeoTools for all — legacy) v1.9.0
spark.sedona.crs.url.base Base URL of a CRS definition server for resolving authority codes (e.g., EPSG) via HTTP. When set, ST_Transform will consult this URL provider before the built-in definitions. (empty — disabled) e.g. https://crs.example.com v1.9.0
spark.sedona.crs.url.pathTemplate URL path template appended to spark.sedona.crs.url.base. Placeholders {authority} and {code} are replaced at runtime. /{authority}/{code}.json e.g. /epsg/{code}.json v1.9.0
spark.sedona.crs.url.format The CRS definition format returned by the URL provider projjson projjson, proj, wkt1 (OGC WKT1), wkt2 (ISO 19162 WKT2) v1.9.0