Configuration Reference¶
This page documents all configuration properties specific to the Xonai Accelerator.
The properties can be activated just as any other Spark configuration property (see official documentation), folowing the --conf [key]=[value]
format.
For example, adding --conf spark.xonai.sql.project.enabled=false
to spark-submit
:
$SPARK_HOME/bin/spark-submit \
--class org.apache.spark.examples.SparkPi \
--conf spark.xonai.sql.project.enabled=false \
$SPARK_HOME/examples/jars/spark-examples.jar \
1000
By convention, all Xonai Accelerator properties start with spark.xonai
.
Configuration Property List¶
The following is a list of all configuration properties available for the Xonai Accelerator.
Property Key |
Description |
Default Value |
|||
---|---|---|---|---|---|
spark.xonai.sql.broadcastHashJoin.enabled |
Enable (true) or disable (false) offloading BroadcastHashJoin to native engine. |
true |
|||
spark.xonai.sql.compiler.enabled |
Enable (true) or disable (false) offloading SQL operations to native engine. |
true |
|||
spark.xonai.sql.expand.enabled |
Enable (true) or disable (false) offloading Expand to native engine. |
true |
|||
spark.xonai.sql.filter.enabled |
Enable (true) or disable (false) offloading Filter to native engine. |
true |
|||
spark.xonai.sql.hashAggregate.enabled |
Enable (true) or disable (false) offloading HashAggregate to native engine. |
true |
|||
spark.xonai.sql.inMemoryColumnarStorage.compression.codec |
Codec to compress in memory data when spark.sql.inMemoryColumnarStorage.compressed is enabled. Supports same codecs as spark.io.compression.codec. |
lz4 |
|||
spark.xonai.sql.parquet.enabled |
Enable (true) or disable (false) using Fusion optimized parquet reader. |
true |
|||
spark.xonai.sql.parquet.lazyDecodingEnabled |
Enable (true) or disable (false) lazy decoding when reading parquet columns. |
true |
|||
spark.xonai.sql.project.enabled |
Enable (true) or disable (false) offloading Project to native engine. |
true |
|||
spark.xonai.sql.rowToColumnar.batchSize |
Size of columnar batches when converting from row to columnar batches. |
4096 |
|||
spark.xonai.sql.shuffle.enabled |
Enable (true) or disable (false) shuffling data using columnar format. |
true |
|||
spark.xonai.sql.shuffledHashJoin.enabled |
Enable (true) or disable (false) offloading ShuffledHashJoin to native engine. |
true |
|||
spark.xonai.sql.sort.enabled |
Enable (true) or disable (false) offloading Sort to native engine. |
true |
|||
spark.xonai.sql.sortMergeJoin.enabled |
Enable (true) or disable (false) offloading SortMergeJoin to native engine. |
true |
|||
spark.xonai.sql.takeOrderedAndProject.enabled |
Enable (true) or disable (false) offloading TakeOrderedAndProject to native engine. |
true |
Configuration Defaults¶
The Xonai Accelerator modifies the defaults of a few Spark properties as it is expected to perform better with these. Properties explicitly set take precedence over these defaults.
The modified Spark properties are as follows:
Property |
Xonai Value |
||
---|---|---|---|
spark.executor.memoryOverheadFactor |
0.1875 |
||
spark.sql.adaptive.advisoryPartitionSizeInBytes |
32MB |
||
spark.sql.cache.serializer |
com.xonai.spark.CacheSerializer |