Documentation
ODP 3.3.6.4-1
Release Notes
What is ODP
Installation
Component User guide and Installation Instructions
Upgrade Instructions
Downgrade Instructions
Reference Guide
Security Guide
Troubleshooting Guide
Uninstall ODP
Title
Message
Create new category
What is the title of your new category?
Edit page index title
What is the title of the page index?
Edit category
What is the new title of your category?
Edit link
What is the new title and URL of your link?
Usability
Summarize Page
Copy Markdown
Open in ChatGPT
Open in Claude
Connect to Cursor
Connect to VS Code
Structured Logging Framework
Spark 4.1.1 outputs logs in structured JSON format for easy ingestion by log aggregation tools (ELK, Splunk, Datadog).
Bash
xxxxxxxxxxspark.log.structuredLogging.enabled=trueBash
xxxxxxxxxxspark = SparkSession.builder \ .config("spark.log.structuredLogging.enabled", "true") \ .appName("Structured Logging") \ .getOrCreate()Error Class Framework
Standardized, actionable error messages that explain what failed, why, and how to fix it.
Before (Spark 3.x):
Bash
xxxxxxxxxxAnalysisException: cannot resolve 'user_id' given input columns: [id, name, value]After (Spark 4.1.1):
Bash
xxxxxxxxxx[UNRESOLVED_COLUMN.WITH_SUGGESTION] Column 'user_id' does not exist.Did you mean one of the following? [id, name, value]Example error message for boolean expression misuse:
Bash
xxxxxxxxxx[INVALID_BOOL_EXPRESSION] Cannot convert column into bool: please use '&' for 'and','|' for 'or', '~' for 'not' when building DataFrame boolean expressions.Behavior Change Process
Spark 4.1.1 follows a formal Behavior Change Process, documenting all breaking changes with opt-out flags where applicable.
Key behavior changes from Spark 3.x → 4.1.1:
| Change | Spark 3.x Default | Spark 4.1.1 Default | Opt-Out Flag |
|---|---|---|---|
| ANSI SQL mode | false | true | spark.sql.ansi.enabled=false |
| Integer overflow | Silent | Exception | via ANSI flag |
| Null handling | Permissive | Stricter | via ANSI flag |
| Structured logging | Disabled | Enabled | spark.log.structuredLogging.enabled=false |
Type to search, ESC to discard
Type to search, ESC to discard
Type to search, ESC to discard
Last updated on May 14, 2026
Was this page helpful?
Next to read:
Known Limitationsnull
Discard Changes
Do you want to discard your current changes and overwrite with the template?
Archive Synced Block
Message
Create new Template
What is this template's title?
Delete Template
Message