{"generated":"2026-10-06","groups":[{"id":"foundations","label":"Foundations"},{"id":"main","label":"Platform & governance"},{"id":"data-engineering","label":"Data engineering · Lakeflow"},{"id":"sql","label":"Data warehousing & BI"},{"id":"ai-ml","label":"AI & ML"}],"topics":[{"id":"releases","label":"New features","help":"Something shipped or reached general availability."},{"id":"previews","label":"Preview and beta","help":"Not safe to build on yet."},{"id":"renames","label":"Renames","help":"The name changed, the thing did not."},{"id":"deprecations","label":"Deprecation and end of support","help":"Going away, with a date."},{"id":"certifications","label":"Certification","help":"Exam guides, exam versions, retired exams."},{"id":"content","label":"Site content","help":"A concept was written or rewritten here."},{"id":"governance","label":"Governance","help":"Unity Catalog, lineage, audit, sharing."},{"id":"security","label":"Security","help":"Identity, network, secrets, encryption."},{"id":"performance","label":"Performance","help":"Faster, or a different way of being fast."},{"id":"cost","label":"Cost","help":"What it consumes and how it is billed."},{"id":"streaming","label":"Streaming","help":"Structured Streaming, ingestion in motion."},{"id":"batch","label":"Batch and pipelines","help":"Jobs, declarative pipelines, orchestration."},{"id":"sql","label":"SQL","help":"Warehouses, the editor, the dialect."},{"id":"python","label":"Python","help":"PySpark, notebooks, libraries."},{"id":"ml","label":"Machine learning","help":"Training, features, serving, MLflow."},{"id":"genai","label":"Generative AI","help":"Agents, gateway, vector search, evaluation."},{"id":"administration","label":"Administration","help":"Accounts, workspaces, compute policies, quotas."},{"id":"tooling","label":"Tooling","help":"CLI, bundles, IDE, Terraform, Labs projects."},{"id":"migration","label":"Migration","help":"Moving from something else, or from an older shape of this."},{"id":"video","label":"Video","help":"The resource is a recording rather than a page."}],"areas":[{"id":"foundations-sql","title":"SQL the Databricks Way","group":"foundations"},{"id":"playground","title":"Playground","group":"ai-ml"},{"id":"runs","title":"Runs","group":"data-engineering"},{"id":"sql-editor","title":"SQL Editor","group":"sql"},{"id":"workspace","title":"Workspace","group":"main"},{"id":"agents","title":"Agents","group":"ai-ml"},{"id":"catalog","title":"Catalog","group":"main"},{"id":"dashboards","title":"Dashboards","group":"sql"},{"id":"data-ingestion","title":"Data Ingestion","group":"data-engineering"},{"id":"foundations-python","title":"Python / PySpark","group":"foundations"},{"id":"jobs-pipelines","title":"Jobs & Pipelines","group":"data-engineering"},{"id":"ai-gateway","title":"Unity Gateway","group":"ai-ml"},{"id":"delta-lake","title":"Delta Lake","group":"data-engineering"},{"id":"genie","title":"Genie","group":"sql"},{"id":"alerts","title":"Alerts","group":"sql"},{"id":"compute","title":"Compute","group":"main"},{"id":"experiments","title":"Experiments","group":"ai-ml"},{"id":"streaming","title":"Streaming","group":"data-engineering"},{"id":"data-quality","title":"Data Quality","group":"data-engineering"},{"id":"features","title":"Features","group":"ai-ml"},{"id":"marketplace","title":"Discover / Marketplace","group":"main"},{"id":"query-history","title":"Query History","group":"sql"},{"id":"apps","title":"Apps","group":"main"},{"id":"ecosystem","title":"Ecosystem & Tools","group":"data-engineering"},{"id":"models","title":"Models","group":"ai-ml"},{"id":"sql-warehouses","title":"SQL Warehouses","group":"sql"},{"id":"lakebase","title":"Lakebase","group":"data-engineering"},{"id":"serving","title":"Serving","group":"ai-ml"},{"id":"vector-search","title":"AI Search","group":"ai-ml"}],"paths":[{"id":"foundations","title":"SQL & Python Foundations","summary":"The SQL and PySpark you need before any other path: the Spark dialect, types, joins, windows, MERGE, and the DataFrame API as it differs from pandas.","stages":["SQL on Databricks","SQL that does work","Python and PySpark","Transforming data"],"concepts":["spark-sql-basics","sql-data-types","sql-joins-and-sets","sql-window-functions","sql-merge-and-dml","sql-scripting","sql-pipe-syntax","ai-functions-sql","pyspark-vs-pandas","python-in-notebooks","dataframe-io","dataframe-columns-rows","dataframe-joins-unions","dataframe-dedup-aggregations","udfs-and-alternatives"]},{"id":"lakehouse-foundations","title":"Lakehouse Foundations","summary":"How the Databricks platform is put together: control plane and compute, Delta Lake as the storage format, Unity Catalog as the governance layer, and the medallion pattern everything else builds on.","stages":["The platform","Storage","Governance","Working in the lakehouse"],"concepts":["platform-architecture","compute-options","delta-lake-overview","managed-vs-external-tables","unity-catalog-overview","medallion-architecture","git-folders","notebooks-basics","workspace-files-volumes"]},{"id":"data-engineering","title":"Data Engineering","summary":"Build production pipelines: ingest with Auto Loader, COPY INTO and Lakeflow Connect, transform with PySpark and SQL, orchestrate with Lakeflow Jobs, and ship it with bundles.","stages":["Ingest","Transform","Declare","Orchestrate","Operate","Ship"],"concepts":["ingestion-patterns","copy-into","auto-loader","lakeflow-connect","ingestion-jdbc-rest","semi-structured-data","structured-streaming-basics","kafka-streaming","streaming-triggers","streaming-watermarks-state","zerobus-ingest","medallion-architecture","dataframe-columns-rows","dataframe-joins-unions","dataframe-dedup-aggregations","gold-layer-objects","dataframe-io","merge-upsert","foreachbatch","data-quality-overview","dqx-framework","pipelines-overview","pipelines-expectations","pipelines-auto-cdc","pipelines-sql-vs-python","pipelines-event-log","pipelines-sinks","jobs-overview","jobs-task-dependencies","jobs-control-flow","jobs-triggers","jobs-parameters","jobs-repair-runs","jobs-serverless","jobs-queue-and-concurrency","jobs-continuous","runs-monitoring","spark-ui-bottlenecks","delta-optimize-vacuum","system-tables","predictive-optimization","deletion-vectors","table-history-and-checkpoints","change-data-feed","delta-time-travel","iceberg-interoperability","data-quality-monitoring","bundles-overview","bundles-variables-targets","secrets-management","cli-and-sdk","bundles-ci-cd","coding-agents-on-databricks"]},{"id":"governance-security","title":"Governance & Security","summary":"Unity Catalog end to end: the three-level namespace, managed and external tables, privileges, row filters, column masks and attribute-based policies.","stages":["The catalog","Access control","Fine-grained access","Sharing"],"concepts":["unity-catalog-overview","managed-vs-external-tables","uc-metastore-and-setup","external-locations-and-storage-credentials","information-schema","volumes-managed-vs-external","catalog-workspace-binding","privileges-grant-revoke","unity-catalog-lineage","row-filters-column-masks","abac-policies","governed-tags","data-classification","marketplace-delta-sharing","opensharing-overview","lakehouse-federation"]},{"id":"platform-administration","title":"Platform & Administration","summary":"Choose the right compute, read the Spark UI, tune the handful of settings that matter, and diagnose clusters that will not start or run out of memory.","stages":["Compute","Governing compute","Performance","Troubleshooting"],"concepts":["compute-options","serverless-compute","runtime-and-photon","compute-access-modes","cluster-policies","spark-tuning-basics","spark-ui-bottlenecks","liquid-clustering","instance-pools","data-layout-partitioning-zorder","cluster-troubleshooting","runs-monitoring","system-tables","cost-attribution-and-budgets","databricks-labs-tools","query-tags"]},{"id":"sql-analytics","title":"SQL & Analytics","summary":"Query the lakehouse from the SQL editor, model gold tables and views for BI, and understand what a SQL warehouse costs.","stages":["Foundations","Model for BI","Query and serve"],"concepts":["delta-lake-overview","unity-catalog-overview","sql-editor-basics","genie-code","sql-warehouse-sessions","sql-parameters-and-variables","gold-layer-objects","medallion-architecture","metric-views","dashboard-data-modeling","uc-domains-and-pages","dashboard-filters-and-variables","dashboard-schedules-and-subscriptions","sql-warehouse-sizing","query-profile","dashboards-overview","genie-agents","genie-knowledge-store","genie-benchmarks-monitoring","materialized-views-sql","genie-ontology","streaming-tables-sql","alerts-overview","genie-conversation-api","alert-compute-and-cost","sql-warehouse-types-and-channels","query-performance-insights","sql-query-caching","genie-agent-tuning","genie-one"]},{"id":"machine-learning","title":"Machine Learning","summary":"Track experiments with MLflow, build features, register models in Unity Catalog and serve them behind an endpoint.","stages":["Foundations","Experiment","Register and serve"],"concepts":["platform-architecture","dataframe-columns-rows","mlflow-tracking","feature-engineering","mlflow-tracing","automl","model-training-and-tuning","mlflow-3-models","ai-runtime","training-sets-and-point-in-time","feature-views","models-in-uc","model-serving-endpoints","serving-compute-and-scaling","online-feature-store","mlflow-deployment-jobs","model-monitoring"]},{"id":"generative-ai","title":"Generative AI","summary":"Foundation models on Databricks, vector search for retrieval, agents built with Agent Bricks and the Agent Framework, and how to evaluate them.","stages":["Foundations","Models","Retrieval","Agents"],"concepts":["unity-catalog-overview","ai-playground","foundation-model-apis","ai-gateway-basics","batch-inference-ai-query","structured-outputs","provisioned-throughput","external-models","vector-search-basics","rag-pipeline","ai-search-indexes","agent-framework","agent-tools-uc-functions","mcp-on-databricks","agent-bricks","agent-deployment-apps","model-services","agent-and-mcp-services","guardrails-and-service-policies","agent-memory","agent-evaluation","evaluation-datasets","human-feedback","prompt-registry","genai-production-monitoring","gateway-usage-and-inference-tables"]}],"roadmaps":[{"id":"data-analyst-associate","title":"Data Analyst Associate","exam_guide_version":"2025-10","domains":["Understanding of Databricks Data Intelligence Platform","Managing Data","Importing Data","Executing queries using Databricks SQL and Databricks SQL Warehouses","Analyzing Queries","Working with Dashboards and Visualizations in Databricks","Developing, Sharing, and Maintaining AI/BI Genie spaces","Data Modeling with Databricks SQL","Securing Data"]},{"id":"de-associate","title":"Data Engineer Associate","exam_guide_version":"2026-05","domains":["Databricks Intelligence Platform","Data Ingestion and Loading","Data Transformation and Modeling","Working with Lakeflow Jobs","Implementing CI/CD","Troubleshooting, Monitoring, and Optimization","Governance and Security"]},{"id":"de-professional","title":"Data Engineer Professional","exam_guide_version":"2026-07","domains":["Developing Code for Data Processing using Python and SQL","Data Ingestion & Acquisition","Data Transformation, Cleansing, and Quality","Data Sharing and Federation","Monitoring and Alerting","Cost & Performance Optimization","Ensuring Data Security and Compliance","Data Governance","Debugging and Deploying","Data Modeling"]},{"id":"genai-engineer-associate","title":"Generative AI Engineer Associate","exam_guide_version":"2026-03","domains":["Design Applications","Data Preparation","Application Development","Assembling and Deploying Applications","Governance","Evaluation and Monitoring"]},{"id":"ml-associate","title":"Machine Learning Associate","exam_guide_version":"2025-03","domains":["Databricks Machine Learning","Data Processing","Model Development","Model Deployment"]}],"concepts":[{"id":"dataframe-columns-rows","title":"Columns, rows, and DataFrame structure","area":"foundations-python","level":"beginner","status":"published","paths":["foundations","data-engineering","machine-learning"],"certs":["de-associate","ml-associate"]},{"id":"dataframe-dedup-aggregations","title":"Deduplication and aggregations","area":"foundations-python","level":"beginner","status":"published","paths":["foundations","data-engineering"],"certs":["data-analyst-associate","de-associate","de-professional","ml-associate"]},{"id":"dataframe-io","title":"Reading and writing DataFrames","area":"foundations-python","level":"beginner","status":"published","paths":["foundations","data-engineering"],"certs":[]},{"id":"dataframe-joins-unions","title":"Joins and unions between DataFrames","area":"foundations-python","level":"intermediate","status":"published","paths":["foundations","data-engineering"],"certs":["de-associate"]},{"id":"pyspark-vs-pandas","title":"PySpark versus pandas","area":"foundations-python","level":"beginner","status":"published","paths":["foundations"],"certs":[]},{"id":"python-in-notebooks","title":"Python in notebooks: dbutils, widgets, modules","area":"foundations-python","level":"beginner","status":"published","paths":["foundations"],"certs":[]},{"id":"udfs-and-alternatives","title":"UDFs and when not to write one","area":"foundations-python","level":"intermediate","status":"published","paths":["foundations"],"certs":[]},{"id":"ai-functions-sql","title":"AI functions in SQL","area":"foundations-sql","level":"intermediate","status":"published","paths":["foundations"],"certs":["genai-engineer-associate"]},{"id":"spark-sql-basics","title":"Spark SQL, the dialect","area":"foundations-sql","level":"beginner","status":"published","paths":["foundations"],"certs":[]},{"id":"sql-data-types","title":"Types and casting","area":"foundations-sql","level":"beginner","status":"published","paths":["foundations"],"certs":[]},{"id":"sql-joins-and-sets","title":"Joins and set operations","area":"foundations-sql","level":"beginner","status":"published","paths":["foundations"],"certs":["data-analyst-associate","de-professional"]},{"id":"sql-merge-and-dml","title":"MERGE, UPDATE, DELETE on Delta","area":"foundations-sql","level":"intermediate","status":"published","paths":["foundations"],"certs":[]},{"id":"sql-pipe-syntax","title":"Pipe syntax for queries","area":"foundations-sql","level":"intermediate","status":"published","paths":["foundations"],"certs":[]},{"id":"sql-scripting","title":"SQL scripting and stored procedures","area":"foundations-sql","level":"advanced","status":"published","paths":["foundations"],"certs":[]},{"id":"sql-window-functions","title":"Window functions","area":"foundations-sql","level":"intermediate","status":"published","paths":["foundations"],"certs":["de-professional"]},{"id":"databricks-apps","title":"Databricks Apps","area":"apps","level":"intermediate","status":"published","paths":[],"certs":[]},{"id":"abac-policies","title":"ABAC policies in Unity Catalog","area":"catalog","level":"advanced","status":"published","paths":["governance-security"],"certs":["de-associate","de-professional","genai-engineer-associate"]},{"id":"catalog-workspace-binding","title":"Workspace-catalog binding","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":[]},{"id":"data-classification","title":"Data Classification in Unity Catalog","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":[]},{"id":"external-locations-and-storage-credentials","title":"External locations and storage credentials","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":["de-associate"]},{"id":"governed-tags","title":"Governed tags","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":["de-associate"]},{"id":"information-schema","title":"The information schema","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":[]},{"id":"lakehouse-federation","title":"Lakehouse Federation","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":["de-professional"]},{"id":"managed-vs-external-tables","title":"Managed and external tables","area":"catalog","level":"intermediate","status":"published","paths":["lakehouse-foundations","governance-security"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"metric-views","title":"Metric views","area":"catalog","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"privileges-grant-revoke","title":"Privileges: GRANT, REVOKE, and DENY","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"row-filters-column-masks","title":"Row filters and column masks","area":"catalog","level":"advanced","status":"published","paths":["governance-security"],"certs":["de-associate","de-professional","genai-engineer-associate"]},{"id":"system-tables","title":"System tables","area":"catalog","level":"intermediate","status":"published","paths":["data-engineering","platform-administration"],"certs":["de-associate"]},{"id":"uc-domains-and-pages","title":"Domains and Pages","area":"catalog","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":[]},{"id":"uc-metastore-and-setup","title":"The metastore and how a workspace gets Unity Catalog","area":"catalog","level":"beginner","status":"published","paths":["governance-security"],"certs":["de-associate"]},{"id":"unity-catalog-lineage","title":"Data lineage in Unity Catalog","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":[]},{"id":"unity-catalog-overview","title":"Unity Catalog, the governance layer","area":"catalog","level":"beginner","status":"published","paths":["lakehouse-foundations","governance-security","sql-analytics","generative-ai"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"volumes-managed-vs-external","title":"Managed and external volumes","area":"catalog","level":"intermediate","status":"published","paths":["governance-security"],"certs":[]},{"id":"cluster-policies","title":"Cluster policies","area":"compute","level":"intermediate","status":"published","paths":["platform-administration"],"certs":[]},{"id":"cluster-troubleshooting","title":"Diagnosing clusters: startup failures, libraries, out of memory","area":"compute","level":"intermediate","status":"published","paths":["platform-administration"],"certs":["de-associate","de-professional"]},{"id":"compute-access-modes","title":"Access modes: standard and dedicated","area":"compute","level":"intermediate","status":"published","paths":["platform-administration"],"certs":["de-associate"]},{"id":"compute-options","title":"Choosing compute: all-purpose, job cluster, serverless, SQL warehouse","area":"compute","level":"beginner","status":"published","paths":["lakehouse-foundations","platform-administration"],"certs":["de-associate"]},{"id":"instance-pools","title":"Instance pools and autoscaling","area":"compute","level":"intermediate","status":"published","paths":["platform-administration"],"certs":[]},{"id":"runtime-and-photon","title":"Databricks Runtime and Photon","area":"compute","level":"intermediate","status":"published","paths":["platform-administration"],"certs":[]},{"id":"serverless-compute","title":"Serverless compute","area":"compute","level":"intermediate","status":"published","paths":["platform-administration"],"certs":[]},{"id":"spark-tuning-basics","title":"Basic Spark tuning parameters","area":"compute","level":"intermediate","status":"published","paths":["platform-administration"],"certs":["de-associate"]},{"id":"spark-ui-bottlenecks","title":"Spark UI: skew, shuffle, and spill","area":"compute","level":"intermediate","status":"published","paths":["data-engineering","platform-administration"],"certs":["de-associate","de-professional"]},{"id":"marketplace-delta-sharing","title":"Marketplace and Clean Rooms","area":"marketplace","level":"intermediate","status":"published","paths":["governance-security"],"certs":["de-professional"]},{"id":"opensharing-overview","title":"Sharing data with OpenSharing","area":"marketplace","level":"intermediate","status":"published","paths":["governance-security"],"certs":["de-professional"]},{"id":"bundles-ci-cd","title":"Bundles in a CI/CD pipeline","area":"workspace","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"bundles-overview","title":"Declarative Automation Bundles and the Databricks CLI","area":"workspace","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional","genai-engineer-associate"]},{"id":"bundles-variables-targets","title":"Bundles: variables, targets, and per-environment overrides","area":"workspace","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"cli-and-sdk","title":"The CLI and the SDKs","area":"workspace","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"coding-agents-on-databricks","title":"Coding agents on Databricks, and how to keep them safe","area":"workspace","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"cost-attribution-and-budgets","title":"Cost attribution and budgets","area":"workspace","level":"intermediate","status":"published","paths":["platform-administration"],"certs":["de-professional"]},{"id":"git-folders","title":"Git folders: branches, commits, pull requests","area":"workspace","level":"beginner","status":"published","paths":["lakehouse-foundations"],"certs":["de-associate","de-professional"]},{"id":"notebooks-basics","title":"Notebooks","area":"workspace","level":"beginner","status":"published","paths":["lakehouse-foundations"],"certs":[]},{"id":"platform-architecture","title":"Architecture of the Data Intelligence Platform","area":"workspace","level":"beginner","status":"published","paths":["lakehouse-foundations","machine-learning"],"certs":["data-analyst-associate","de-associate"]},{"id":"secrets-management","title":"Secrets and credentials","area":"workspace","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"workspace-files-volumes","title":"Workspace files and volumes","area":"workspace","level":"beginner","status":"published","paths":["lakehouse-foundations"],"certs":[]},{"id":"alert-compute-and-cost","title":"What an alert costs to run","area":"alerts","level":"beginner","status":"published","paths":["sql-analytics"],"certs":[]},{"id":"alerts-overview","title":"SQL alerts","area":"alerts","level":"beginner","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate","de-professional"]},{"id":"dashboard-data-modeling","title":"Modelling data inside a dashboard","area":"dashboards","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":[]},{"id":"dashboard-filters-and-variables","title":"Dashboard filters, parameters and variables","area":"dashboards","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"dashboard-schedules-and-subscriptions","title":"Dashboard schedules and subscriptions","area":"dashboards","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"dashboards-overview","title":"AI/BI dashboards","area":"dashboards","level":"beginner","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"genie-agent-tuning","title":"Tuning a Genie Agent for correct answers","area":"genie","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"genie-agents","title":"Genie Agents","area":"genie","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"genie-benchmarks-monitoring","title":"Genie benchmarks, feedback and monitoring","area":"genie","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"genie-code","title":"Genie Code","area":"genie","level":"beginner","status":"published","paths":["sql-analytics"],"certs":[]},{"id":"genie-conversation-api","title":"Using Genie outside the UI: API, embedding and agents","area":"genie","level":"advanced","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate","genai-engineer-associate"]},{"id":"genie-knowledge-store","title":"The Genie knowledge store","area":"genie","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"genie-one","title":"Genie One","area":"genie","level":"beginner","status":"published","paths":["sql-analytics"],"certs":[]},{"id":"genie-ontology","title":"The Genie Ontology","area":"genie","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":[]},{"id":"query-performance-insights","title":"Query performance insights","area":"query-history","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"query-profile","title":"Reading the query profile","area":"query-history","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate","de-professional"]},{"id":"query-tags","title":"Query tags","area":"query-history","level":"intermediate","status":"published","paths":["platform-administration"],"certs":[]},{"id":"sql-query-caching","title":"Query caching layers","area":"query-history","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"sql-editor-basics","title":"The SQL editor","area":"sql-editor","level":"beginner","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"sql-parameters-and-variables","title":"Query parameters and session variables","area":"sql-editor","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"materialized-views-sql","title":"Standalone materialized views in Databricks SQL","area":"sql-warehouses","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"sql-warehouse-sessions","title":"SQL warehouse sessions","area":"sql-warehouses","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":[]},{"id":"sql-warehouse-sizing","title":"Sizing a SQL warehouse","area":"sql-warehouses","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"sql-warehouse-types-and-channels","title":"SQL warehouse types and channels","area":"sql-warehouses","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["data-analyst-associate"]},{"id":"streaming-tables-sql","title":"Streaming tables from Databricks SQL","area":"sql-warehouses","level":"intermediate","status":"published","paths":["sql-analytics"],"certs":["de-associate"]},{"id":"auto-loader","title":"Auto Loader","area":"data-ingestion","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"copy-into","title":"COPY INTO","area":"data-ingestion","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"ingestion-jdbc-rest","title":"Ingesting from JDBC and REST APIs in notebooks","area":"data-ingestion","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"ingestion-patterns","title":"Ingestion patterns: batch, streaming, incremental","area":"data-ingestion","level":"beginner","status":"published","paths":["data-engineering"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"lakeflow-connect","title":"Lakeflow Connect: managed connectors","area":"data-ingestion","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional"]},{"id":"semi-structured-data","title":"Semi-structured data: JSON, nested data, VARIANT","area":"data-ingestion","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional","genai-engineer-associate"]},{"id":"zerobus-ingest","title":"Zerobus Ingest","area":"data-ingestion","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"data-quality-monitoring","title":"Data profiling and anomaly detection","area":"data-quality","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"data-quality-overview","title":"Data quality on Databricks, layer by layer","area":"data-quality","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"dqx-framework","title":"DQX: data quality checks for PySpark","area":"data-quality","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"change-data-feed","title":"Change Data Feed","area":"delta-lake","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-professional"]},{"id":"data-layout-partitioning-zorder","title":"Partitioning, Z-order, and data skipping","area":"delta-lake","level":"intermediate","status":"published","paths":["platform-administration"],"certs":["de-associate","de-professional"]},{"id":"deletion-vectors","title":"Deletion vectors","area":"delta-lake","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-professional"]},{"id":"delta-lake-overview","title":"Delta Lake, the lakehouse table format","area":"delta-lake","level":"beginner","status":"published","paths":["lakehouse-foundations","sql-analytics"],"certs":["de-associate"]},{"id":"delta-optimize-vacuum","title":"OPTIMIZE, VACUUM, and file layout","area":"delta-lake","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional"]},{"id":"delta-time-travel","title":"Time travel and table history","area":"delta-lake","level":"beginner","status":"published","paths":["data-engineering"],"certs":["data-analyst-associate"]},{"id":"gold-layer-objects","title":"Gold objects: tables, views, materialized views, streaming tables","area":"delta-lake","level":"intermediate","status":"published","paths":["data-engineering","sql-analytics"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"iceberg-interoperability","title":"Iceberg on Databricks","area":"delta-lake","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"liquid-clustering","title":"Liquid clustering","area":"delta-lake","level":"intermediate","status":"published","paths":["platform-administration"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"medallion-architecture","title":"Medallion architecture: bronze, silver, gold","area":"delta-lake","level":"beginner","status":"published","paths":["lakehouse-foundations","data-engineering","sql-analytics"],"certs":["data-analyst-associate","de-associate","de-professional"]},{"id":"merge-upsert","title":"Upsert with MERGE INTO","area":"delta-lake","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"predictive-optimization","title":"Predictive optimization","area":"delta-lake","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional"]},{"id":"table-history-and-checkpoints","title":"Table history and transaction log checkpoints","area":"delta-lake","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"databricks-labs-tools","title":"Databricks Labs, the tools around the platform","area":"ecosystem","level":"intermediate","status":"published","paths":["platform-administration"],"certs":[]},{"id":"jobs-continuous","title":"Continuous jobs","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"jobs-control-flow","title":"Control flow: retries, if/else, for each, run job","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"jobs-overview","title":"Lakeflow Jobs, what a job is","area":"jobs-pipelines","level":"beginner","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional"]},{"id":"jobs-parameters","title":"Job and task parameters, dynamic values, and task values","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"jobs-queue-and-concurrency","title":"Concurrent runs, queueing, and the limits behind them","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"jobs-repair-runs","title":"Repair runs, retries, and notifications","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional"]},{"id":"jobs-serverless","title":"Serverless compute for jobs","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"jobs-task-dependencies","title":"Tasks, dependencies, and the job graph","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"jobs-triggers","title":"Triggers: schedule, file arrival, table update, continuous","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"pipelines-auto-cdc","title":"Change data capture with AUTO CDC","area":"jobs-pipelines","level":"advanced","status":"published","paths":["data-engineering"],"certs":["de-professional"]},{"id":"pipelines-event-log","title":"The pipeline event log","area":"jobs-pipelines","level":"advanced","status":"published","paths":["data-engineering"],"certs":["de-professional"]},{"id":"pipelines-expectations","title":"Data quality: expectations and constraints","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional"]},{"id":"pipelines-overview","title":"Lakeflow pipelines","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate","de-professional","ml-associate"]},{"id":"pipelines-sinks","title":"Sinks: writing out of a pipeline","area":"jobs-pipelines","level":"advanced","status":"published","paths":["data-engineering"],"certs":[]},{"id":"pipelines-sql-vs-python","title":"Choosing SQL or Python for a pipeline","area":"jobs-pipelines","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-professional"]},{"id":"lakebase-apps","title":"Lakebase behind an app, an agent or a feature store","area":"lakebase","level":"intermediate","status":"published","paths":[],"certs":[]},{"id":"lakebase-change-data-feed","title":"Lakebase change data feed, from Postgres into Delta","area":"lakebase","level":"advanced","status":"published","paths":[],"certs":[]},{"id":"lakebase-computes-scaling","title":"Computes, autoscaling, scale-to-zero and high availability","area":"lakebase","level":"intermediate","status":"published","paths":[],"certs":[]},{"id":"lakebase-connect-auth","title":"Connecting to Lakebase, roles and permissions","area":"lakebase","level":"intermediate","status":"published","paths":[],"certs":[]},{"id":"lakebase-data-api-extensions","title":"The Data API and Postgres extensions","area":"lakebase","level":"advanced","status":"published","paths":[],"certs":[]},{"id":"lakebase-overview","title":"Lakebase, the Postgres inside Databricks","area":"lakebase","level":"beginner","status":"published","paths":[],"certs":[]},{"id":"lakebase-projects-branches","title":"Projects, branches and point-in-time restore","area":"lakebase","level":"intermediate","status":"published","paths":[],"certs":[]},{"id":"lakebase-synced-tables","title":"Synced tables, from Unity Catalog into Postgres","area":"lakebase","level":"intermediate","status":"published","paths":[],"certs":[]},{"id":"lakebase-unity-catalog","title":"Registering a Lakebase database in Unity Catalog","area":"lakebase","level":"intermediate","status":"published","paths":[],"certs":[]},{"id":"runs-monitoring","title":"Monitoring runs: states, run history, trends","area":"runs","level":"beginner","status":"published","paths":["data-engineering","platform-administration"],"certs":["de-associate","de-professional"]},{"id":"foreachbatch","title":"Arbitrary sinks with foreachBatch","area":"streaming","level":"advanced","status":"published","paths":["data-engineering"],"certs":[]},{"id":"kafka-streaming","title":"Reading and writing Apache Kafka","area":"streaming","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-associate"]},{"id":"streaming-triggers","title":"Trigger intervals in Structured Streaming","area":"streaming","level":"intermediate","status":"published","paths":["data-engineering"],"certs":[]},{"id":"streaming-watermarks-state","title":"Watermarks and stateful streaming","area":"streaming","level":"advanced","status":"published","paths":["data-engineering"],"certs":[]},{"id":"structured-streaming-basics","title":"Structured Streaming on Databricks","area":"streaming","level":"intermediate","status":"published","paths":["data-engineering"],"certs":["de-professional"]},{"id":"agent-bricks","title":"Agent Bricks: Knowledge Assistant and Supervisor Agent","area":"agents","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"agent-deployment-apps","title":"Deploy an agent on Databricks Apps","area":"agents","level":"advanced","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"agent-evaluation","title":"Evaluating agents","area":"agents","level":"advanced","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"agent-framework","title":"Agents on Databricks","area":"agents","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"agent-memory","title":"Agent memory","area":"agents","level":"advanced","status":"published","paths":["generative-ai"],"certs":[]},{"id":"agent-tools-uc-functions","title":"Agent tools as Unity Catalog functions","area":"agents","level":"advanced","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"mcp-on-databricks","title":"Model Context Protocol on Databricks","area":"agents","level":"advanced","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"agent-and-mcp-services","title":"Agent and MCP services as Unity Catalog securables","area":"ai-gateway","level":"advanced","status":"published","paths":["generative-ai"],"certs":[]},{"id":"ai-gateway-basics","title":"Unity Gateway (formerly AI Gateway)","area":"ai-gateway","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"gateway-usage-and-inference-tables","title":"Gateway inference tables and usage tracking","area":"ai-gateway","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"guardrails-and-service-policies","title":"Guardrails for generative applications","area":"ai-gateway","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"model-services","title":"Model services on Unity Gateway","area":"ai-gateway","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"ai-runtime","title":"AI Runtime and serverless GPU compute","area":"experiments","level":"advanced","status":"published","paths":["machine-learning"],"certs":[]},{"id":"automl","title":"AutoML","area":"experiments","level":"beginner","status":"published","paths":["machine-learning"],"certs":["ml-associate"]},{"id":"evaluation-datasets","title":"Evaluation datasets for generative AI","area":"experiments","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"genai-production-monitoring","title":"Production monitoring for GenAI apps","area":"experiments","level":"advanced","status":"published","paths":["generative-ai"],"certs":[]},{"id":"human-feedback","title":"Human feedback on generative AI output","area":"experiments","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"mlflow-3-models","title":"MLflow 3 for models","area":"experiments","level":"intermediate","status":"published","paths":["machine-learning"],"certs":[]},{"id":"mlflow-tracing","title":"MLflow Tracing for GenAI applications","area":"experiments","level":"intermediate","status":"published","paths":["machine-learning"],"certs":["genai-engineer-associate"]},{"id":"mlflow-tracking","title":"MLflow tracking on Databricks","area":"experiments","level":"beginner","status":"published","paths":["machine-learning"],"certs":["genai-engineer-associate","ml-associate"]},{"id":"model-training-and-tuning","title":"Training and tuning a classic model","area":"experiments","level":"intermediate","status":"published","paths":["machine-learning"],"certs":["ml-associate"]},{"id":"prompt-registry","title":"Prompt registry","area":"experiments","level":"intermediate","status":"published","paths":["generative-ai"],"certs":[]},{"id":"feature-engineering","title":"Feature engineering and the feature store","area":"features","level":"intermediate","status":"published","paths":["machine-learning"],"certs":["ml-associate"]},{"id":"feature-views","title":"Feature Views","area":"features","level":"advanced","status":"published","paths":["machine-learning"],"certs":[]},{"id":"online-feature-store","title":"Online Feature Store","area":"features","level":"intermediate","status":"published","paths":["machine-learning"],"certs":["ml-associate"]},{"id":"training-sets-and-point-in-time","title":"Training sets and point-in-time joins","area":"features","level":"advanced","status":"published","paths":["machine-learning"],"certs":["ml-associate"]},{"id":"mlflow-deployment-jobs","title":"MLflow deployment jobs","area":"models","level":"advanced","status":"published","paths":["machine-learning"],"certs":[]},{"id":"model-monitoring","title":"Monitoring a deployed model","area":"models","level":"advanced","status":"published","paths":["machine-learning"],"certs":[]},{"id":"models-in-uc","title":"Models in Unity Catalog","area":"models","level":"intermediate","status":"published","paths":["machine-learning"],"certs":["genai-engineer-associate","ml-associate"]},{"id":"ai-playground","title":"AI Playground","area":"playground","level":"beginner","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"batch-inference-ai-query","title":"Batch inference with ai_query","area":"serving","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"external-models","title":"External models and model provider services","area":"serving","level":"intermediate","status":"published","paths":["generative-ai"],"certs":[]},{"id":"foundation-model-apis","title":"Foundation Model APIs","area":"serving","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"model-serving-endpoints","title":"Model serving endpoints","area":"serving","level":"intermediate","status":"published","paths":["machine-learning"],"certs":["genai-engineer-associate","ml-associate"]},{"id":"provisioned-throughput","title":"Paying for a foundation model: tokens, units and reservations","area":"serving","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"serving-compute-and-scaling","title":"Serving compute and scaling","area":"serving","level":"advanced","status":"published","paths":["machine-learning"],"certs":["ml-associate"]},{"id":"structured-outputs","title":"Structured outputs","area":"serving","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"ai-search-indexes","title":"AI Search index types and sync modes","area":"vector-search","level":"advanced","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"rag-pipeline","title":"Building a RAG pipeline","area":"vector-search","level":"advanced","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]},{"id":"vector-search-basics","title":"Databricks AI Search (formerly Vector Search)","area":"vector-search","level":"intermediate","status":"published","paths":["generative-ai"],"certs":["genai-engineer-associate"]}]}