Skip to main content
This is a set of endpoints for configuring and running Spark jobs.

Spark job subtypes

For the Spark job type, the available subtypes are listed below.
Additional Spark jobs are available with a Fusion AI license.

Spark Configuration Properties

Fusion passes all configuration properties with prefix “spark.” to the Spark master, Spark worker and each Spark application, both for aggregation jobs and custom-scripted processing. These properties are stored in Fusion’s ZooKeeper and can be updated via requests to Fusion endpoint api/configurations which will update the stored value without restarting the service, therefore existing jobs and SparkContexts will not be affected. The Fusion endpoint api/configurations returns all configured properties for that installation. You can examine spark default configurations in a Unix shell using the utilities curl and grep. Here is an example that checks a local Fusion installation running on port 8764:
The default SparkContext that Fusion uses for aggregation jobs can be assigned a fraction of cluster resources (executor memory and/or available CPU cores). This allows other applications (such as scripted jobs, or shell sessions) to use the remaining cluster resources even when some aggregation jobs are running. Fusion also supports dynamic allocation for all applications. This can be overridden per application. In practice, this means that even when there is an already running SparkContext with a relatively long idle time (eg. 10 minutes) but there are no active jobs that use it, its resources (CPU cores and executor memory) will be released for use by other applications. For scripted Spark jobs, users can specify per-job configuration overrides as a set of key / value pairs in a “sparkConfig” property element of a script job configuration, which takes precedence over values stored in ZooKeeper. The following is an example of a scripted job with a “sparkConfig” section:
The following table lists those Spark configuration properties that Fusion overrides or uses in order to determine applications’ resource allocations.

Fusion Configuration Properties

To avoid losing your running history, Lucidworks recommends that you start jobs with the Fusion Jobs API rather than the Job-Config-Controller or Job-Controller.