session_manager
            SessionManager
¶
    
              Bases: LoggerMixin
SessionManager is a singleton class that manages the SparkSession instance.
Logging can be configured via the nessy settings framework. The LoggerMixin provides console logging capabilities with debug-level environment detection information.
Source code in src/cloe_nessy/session/session_manager.py
                | 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 |  | 
            Environment
¶
    
              Bases: Enum
Enumeration of execution environments for Spark utilities.
This Enum defines the different environments in which the Spark session can operate, including: - DATABRICKS_UI: Represents the Databricks user interface. - FABRIC_UI: Represents the Fabric user interface. - DATABRICKS_CONNECT: Represents the Databricks Connect environment. - OTHER_REMOTE_SPARK: Represents other remote Spark environments, such as used in tests. - STANDALONE_SPARK: Represents a standalone Spark cluster environment.
Source code in src/cloe_nessy/session/session_manager.py
                
            _detect_env()
  
      classmethod
  
¶
    Detects the current execution environment for Spark.
This class method attempts to import the necessary modules to determine
whether the code is running in a Databricks UI, Fabric UI, or using
Databricks Connect. It sets the class variable _env accordingly.
The detection process involves checking the type of dbutils to identify
the environment. If the environment is already detected, it returns the
cached value.
Returns:
| Name | Type | Description | 
|---|---|---|
| Environment | Environment | None | An enum value indicating the detected environment | 
Raises:
| Type | Description | 
|---|---|
| RuntimeError | If the environment cannot be detected due to | 
Source code in src/cloe_nessy/session/session_manager.py
              | 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 |  | 
            get_spark_builder()
  
      classmethod
  
¶
    Get the SparkSession builder based on the current environment.
Source code in src/cloe_nessy/session/session_manager.py
              
            get_spark_session(config=None, profile_name='DEFAULT')
  
      classmethod
  
¶
    Creates or retrieves an existing SparkSession.
This method initializes a SparkSession based on the provided configuration and profile name. If a SparkSession already exists, it returns that instance; otherwise, it creates a new one.
Parameters:
| Name | Type | Description | Default | 
|---|---|---|---|
| config | dict[str, str] | None | An optional Spark configuration provided as key-value pairs. | None | 
| profile_name | str | The name of the Databricks profile to use. Defaults to "DEFAULT". | 'DEFAULT' | 
Returns:
| Type | Description | 
|---|---|
| SparkSession | An instance of SparkSession for data processing. | 
Source code in src/cloe_nessy/session/session_manager.py
              
            get_utils()
  
      classmethod
  
¶
    Get or create a DBUtils, RemoteDbUtils or MsSparkUtils instance, depending on the context.
In Databricks this will return DBUtils, when using Databricks-Connect it returns RemoteDbUtils, and in Fabric it will return MsSparkUtils.
Returns:
| Name | Type | Description | 
|---|---|---|
| utils | Any | The DBUtils, RemoteDbUtils or MsSparkUtils instance. | 
Raises:
| Type | Description | 
|---|---|
| RuntimeError | If the instance cannot be created. |