Parameter
Usage¶
SedonaSQL supports many parameters. To change their values,
- 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()
- Check your current SedonaSQL configuration:
val sedonaConf = new SedonaConf(sparkSession.conf)
println(sedonaConf)
- 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 |