Restricting what a user group can see with column masking and row-level security
Unity Catalog supports fine-grained access control through column masks and row filters, which use SQL functions to dynamically restrict what data users see based on their identity or group membership. These are applied at the table level via ALTER TABLE and enforced automatically for every query against that table, regardless of the tool used to access it.
Must-know
- Row filters are SQL functions that return a BOOLEAN, applied to a table with ALTER TABLE ... SET ROW FILTER, and Databricks evaluates the function per row, hiding rows where it returns false.
- Column masks are SQL functions applied with ALTER TABLE ... ALTER COLUMN ... SET MASK, and they transform or redact the column value (e.g., show NULL or a hashed value) rather than hiding the row.
- Both mechanisms commonly use
is_account_group_member() or similar group-membership checks inside the masking/filtering function to conditionally reveal or obscure data. - Masks and filters are enforced consistently across all access paths (SQL warehouses, notebooks, JDBC/ODBC, Delta Sharing where applicable) since enforcement happens at the table/query layer in Unity Catalog, not in a specific client.
- A single column can only have one mask, and a single table can only have one row filter at a time, though the underlying function can encode multiple conditions.
- Users must have appropriate privileges to create or alter these functions and apply them; regular table consumers are unaware the masking/filtering exists and simply see restricted results.
A data engineering team stores a patient records table in Unity Catalog. Clinicians must see full social security numbers, while billing staff should see only the last four digits, and both groups query the same table name. Which approach meets these requirements?
What you have tried across Databricks DEA's objectives, not a readiness score.
Databricks Intelligence Platform
Data Ingestion and Loading
- Batch, streaming, and incremental loading patterns, and where the data comes from
- Loading files from cloud storage into governed tables with COPY INTO
- Landing data with Auto Loader, and handling schema enforcement and evolution
- Setting up Lakeflow Connect to ingest from enterprise sources reliably
- Pulling data through JDBC, ODBC, or REST clients and scheduling the job
- Choosing the right ingestion method for a given volume, frequency, and governance need
- Bringing semi-structured and unstructured data into governed Delta tables
Data Transformation and Modeling
- Cleaning bronze data into silver tables with PySpark and SQL
- Joining and combining DataFrames with the different join and union types
- Reshaping columns, rows, and arrays in a table
- Deduplicating and aggregating DataFrames
- Tuning Spark's core parameters and measuring what changed
- Building Gold-layer views and tables for BI and analytics
- Validating Silver and Gold datasets for quality
Working with Lakeflow Jobs
Implementing CI/CD
- Branching, committing, and opening pull requests from inside the Databricks workspace
- Promoting one codebase across dev, test, and prod with bundle variables and overrides
- Packaging and deploying jobs and pipelines with Automation Bundles
- Validating and managing bundle deployments from the Databricks CLI
Troubleshooting, Monitoring, and Optimization
- Spotting performance trends in a job's run history
- Reading job status, task graphs, and failure rates to monitor pipeline health
- Diagnosing skew, shuffle, and spill from Spark UI stage metrics
- What Liquid Clustering and predictive optimization actually do
- Diagnosing cluster startup failures, library conflicts, and out-of-memory errors
Governance and Security
Coverage checked against the published exam guide on Jul 27, 2026.
These are independent practice questions, written against this certification's published exam guide. They are not the certification vendor's own questions, and not the real exam.