Configuration


BigDL uses Java properties to control its behavior. Here's the list of these properties.

How to set the properties

Spark

If you run BigDL on Apache Spark, you can set the properties by passing spark-submit options. Here's an example:

# Say you want to set property FOO to value BAR

spark-submit ...
    --conf 'spark.executor.extraJavaOptions=-DFOO=BAR' # Set that property for executor process
    --conf 'spark.driver.extraJavaOptions=-DFOO=BAR'   # Set that property for driver process
    ...

Local Java/Scala program

If you run BigDL in a local Java/Scala program, you can set the properties by passing JVM parameters. Here's an example:

# Say you want to set property FOO to value BAR
java -cp xxx.jar -DFOO=BAR your.main.class.name

Available Properties

Category Property Default value Description
Logging bigdl.utils.LoggerFilter.disable false Disable redirecting logs of Spark and BigDL to a file.
bigdl.utils.LoggerFilter.logFile Current_Working_Directory/bigdl.log Where is the redirecting log.
bigdl.utils.LoggerFilter.enableSparkLog true Enable redirecting Spark logs to logFile. Set it to false when you don't want to see Spark logs in the redirecting log file.
Mode bigdl.localMode false Whether BigDL is running as a local Java/Scala program.
Multi-threading bigdl.coreNumber half of the virtual core number How many cores BigDL use on your machine. It is only used when bigdl.localMode is set to true. If hyper thread is enabled on your machine, DO NOT set it larger than half of the virtual core number.
bigdl.Parameter.syncPoolSize 4 Thread pool size for syncing parameter between executors.
Distributed Training bigdl.network.nio true Whether use NIO as BlockManager backend in Spark 1.5. If it is set to false, user can specify spark.shuffle.blockTransferService to change the BlockManager backend. ONLY used when running on Spark 1.5.
bigdl.failure.retryTimes 5 How many times to retry when there's failure in distributed Training.
bigdl.failure.retryTimeInterval 120 Unit is second. How long recount the retry times.
bigdl.check.singleton false Whether to check if multiple partition run on a same executor, which is bad for performance.
Tensor bigdl.tensor.fold 1000 How many elements in a tensor to determine it is a large tensor, and thus print only part of it.