Pin Databricks or EMR Runtimes
Overview​
By default, a Tecton materialization cluster uses a specific EMR release or Databricks Runtime release, which computes your feature values for online serving and training dataframes. Periodically, Tecton upgrades the default EMR release/Databricks Runtime release on materialization clusters, to apply the latest security patches and stability fixes. These upgrades may include Spark upgrades.
Dependencies for related libraries/software (such as Spark/PySpark) are tied to the EMR or Databricks version used by the version of Tecton you are implementing. For example, Tecton 0.8 uses EMR 6.7.0 by default. You can see the corresponding list of supported versions for EMR 6.7.0 in the AWS documentation. Thus, for Tecton 0.8, the supported version of PySpark is 3.2.1.
Similarly, for Databricks version 12.2.x-scala2.12, you can find the list of supported libraries in the corresponding Databricks Release Notes.
Supported Databricks Runtimes:
- 9.1.x-scala2.12
- 10.4.x-scala2.12
- Default for Tecton 0.6, 0.7, and 0.8
- 11.3.x-scala2.12
- Default for Tecton 0.9
- 12.2.x-scala2.12
- Available in Tecton 0.8.5+
- 13.3.x-scala2.12
- Available in Tecton 0.8.2+
Supported EMR Versions:
- emr-6.5.0
- emr-6.7.0
- Default for Tecton 0.6, 0.7, and 0.8
- emr-6.9.0
- emr-6.9.1
- Default for Tecton 0.9, 1.0
- emr-6.12.0
- Available in Tecton 0.8.5+
- emr-7.0.0
- Available in Tecton 0.8.6+
- Kinesis-based Stream Feature Views do not currently support EMR 7.0 -- support will be added soon.
Rarely, existing transformation logic defined in Tecton will be incompatible with a Spark upgrade.
To prevent a Spark upgrade (that will occur due to a EMR upgrade/Databricks Runtime upgrade), or to downgrade Spark if an incompatibility has occurred, you can configure Tecton to override the default EMR release/Databricks Runtime release, per Feature View and Feature Table.
Overriding Tecton’s default EMR release/Databricks Runtime release​
In Feature View and Feature Table definitions, you can specify which EMR release/Databricks Runtime release is used, by setting the parameters in the table below to a DatabricksClusterConfig or a EMRClusterConfig object.
Object | Parameter to Set |
---|---|
@batch_feature_view | batch_config |
@stream_feature_view | stream_config |
FeatureTable | batch_config |
If using a DatabricksClusterConfig
object, set the dbr_version
parameter.
Note: the name must be a valid runtime name.
If using a EMRClusterConfig
object, set the emr_version
parameter.
Looking at the Spark release notes​
We recommend looking at the Spark release notes to see if your Tecton transformations are using any deprecated features, and check if any custom JARs you use need to be updated to be compatible. This page contains links to the release notes for each Spark version.
The links below show the Spark version that is included in each version of Databricks Runtime and EMR, respectively: