Skip to content

Do not rewrite Spark views for Linkedin Spark 3.5#224

Merged
shanthoosh merged 2 commits intolinkedin:openhouse-1.5.2from
thejdeep:spark-35-rewrite
Dec 17, 2025
Merged

Do not rewrite Spark views for Linkedin Spark 3.5#224
shanthoosh merged 2 commits intolinkedin:openhouse-1.5.2from
thejdeep:spark-35-rewrite

Conversation

@thejdeep
Copy link

In Spark 3.5 along with IcebergSparkSessionExtensions, CreateView statements in Spark lead to the creation of CreateIcebergView here.

This leads to the creation of CreateV2ViewExec here.

which in turn just calls createView on the catalog.

createView in Linkedin's internal session catalog is not implemented and hence the view creation does not happen.

In Spark 3.1, we use HMS for handling views.

For Spark 3.5, we need a way to exclude this feature of rewriting views from taking place and let Spark handle it natively.

This PR, disables Iceberg from rewriting Spark view statements.

@github-actions github-actions bot added the SPARK label Dec 15, 2025
@shanthoosh
Copy link
Collaborator

Thanks for fixing the failing tests in the build. Merging the PR.

@shanthoosh shanthoosh merged commit b7851bb into linkedin:openhouse-1.5.2 Dec 17, 2025
13 checks passed
cbb330 pushed a commit to linkedin/openhouse that referenced this pull request Dec 19, 2025
## Summary

This PR updates the iceberg version to pick up changes made in
linkedin/iceberg#224

## Changes

- [x] Client-facing API Changes
- [ ] Internal API Changes
- [ ] Bug Fixes
- [x] New Features
- [ ] Performance Improvements
- [ ] Code Style
- [ ] Refactoring
- [ ] Documentation
- [ ] Tests

For all the boxes checked, please include additional details of the
changes made in this pull request.

This introduces no breaking changes. By default, the newly added config
`spark.sql.iceberg.rewriteViewCommands.enabled` is set to true so that
the behavior matches exactly prior to this change too.

## Testing Done
<!--- Check any relevant boxes with "x" -->

- [ ] Manually Tested on local docker setup. Please include commands
ran, and their output.
- [ ] Added new tests for the changes made.
- [ ] Updated existing tests to reflect the changes made.
- [x] No tests added or updated. Please explain why. If unsure, please
feel free to ask for help.
- [ ] Some other form of testing like staging or soak time in
production. Please explain.

For all the boxes checked, include a detailed description of the testing
done for the changes made in this pull request.

# Additional Information

- [ ] Breaking Changes
- [ ] Deprecations
- [ ] Large PR broken into smaller PRs, and PR plan linked in the
description.

For all the boxes checked, include additional details of the changes
made in this pull request.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants