Study guide
3.1 Workspace Uploads & Cloud File Ingestion
Databricks Certified Data Analyst Associate Exam
Track your progress as you read
Finished sections get a check mark.
1 Platform Overview & Unity Catalog Foundations
1.1 Databricks Architecture & Compute Concepts 1.2 Databricks Marketplace & Data Sharing Basics 1.3 Unity Catalog Namespace & Object Hierarchy 1.4 Governed Asset Discovery & System Tables
2 Managing & Cleaning Governed Data
2.1 Dataset Discovery & Asset Tagging 2.2 Lineage Inspection & Data Traceability 2.3 SQL Data Cleaning & Transformation Techniques
3 Data Ingestion & Import Patterns
3.1 Workspace Uploads & Cloud File Ingestion 3.2 Incremental File Ingestion with Auto Loader 3.3 Ingesting Data via Delta Sharing & External Connections
4 Databricks SQL Warehouses & Core Querying
4.1 Databricks SQL Interface & SQL Assistant 4.2 SQL Warehouses Sizing & Management 4.3 Table Creation & Data Modification in Databricks SQL
5 Advanced SQL Authoring & Time Travel
5.1 Advanced Aggregations, Window Functions & Analytics 5.2 Complex Joins, CTEs & Set Operations 5.3 Views, Materialized Views & Delta Time Travel
6 Query Performance Analysis & Photon Engine
6.1 Photon Engine Architecture & Acceleration 6.2 Query History & Execution Profile Inspection 6.3 Delta Lake Audit History & Commit Logs
7 Liquid Clustering, Caching & Performance Troubleshooting
7.1 Caching Hierarchy in Databricks SQL 7.2 Data Layout Optimization: Liquid Clustering vs Partitioning & Z-Ordering 7.3 Troubleshooting Slow & Failing Queries
8 AI/BI Dashboards & Visualization Design
8.1 AI/BI Dashboards Overview & Canvas Layout 8.2 Chart Types & Visualization Selection 8.3 Notebook & SQL Editor Visualizations
9 Dashboard Interactivity, Publishing & Alerts
9.1 Dashboard Parameters & Interactive Filtering 9.2 Publishing, Sharing & Access Control 9.3 Scheduled Refresh, Email Subscriptions & Alerts
10 Developing & Maintaining AI/BI Genie Spaces
10.1 AI/BI Genie Architecture & Space Setup 10.2 Curation via Instructions, Descriptions & Sample Questions 10.3 Trusted Assets & Parameterized Functions 10.4 Monitoring, Benchmarks, Feedback & Maintenance
11 Data Modeling & Medallion Architecture
11.1 Dimensional Modeling Fundamentals 11.2 Medallion Architecture for Analytics 11.3 Constraint Enforcement & Relationships in Unity Catalog
12 Securing Data & Unity Catalog Governance
12.1 Unity Catalog Privilege Model & Grants 12.2 Ownership, Inheritance & Access Control Patterns 12.3 Fine-Grained Security: Row Filters & Column Masks
3.1 Workspace Uploads & Cloud File Ingestion
Key Takeaways Explain This Topic AI
UI file uploads into Unity Catalog volumes support individual files up to 5 GB in size via the Databricks Workspace UI.
COPY INTO is an idempotent SQL command that guarantees exactly-once file loading by tracking previously ingested files in Delta Lake table transaction logs.
API-driven intake uses REST/Files/Jobs or partner APIs to land files programmatically, then COPY INTO or Auto Loader loads them into governed Delta tables.
Unity Catalog Storage Credentials and External Locations govern cloud storage paths without exposing hardcoded access keys or cloud credentials in SQL queries.
Executing COPY INTO requires MODIFY privileges on the target Delta table and READ ACCESSIBLE FILES privileges on the underlying External Location or Volume.
Last updated: July 2026
3.1 Workspace Uploads & Cloud File Ingestion
Data ingestion is the gateway to analytics on the Databricks Data Intelligence Platform . Data analysts routinely encounter scenarios where raw datasets must be loaded into governed Delta Lake tables. Databricks offers multiple ingestion pathways tailored to file size, source location, and automation requirements. Understanding when and how to utilize Workspace UI uploads , Unity Catalog Volumes , and the SQL COPY INTO command is essential for building efficient, secure analytics pipelines.
Workspace UI Uploads & Unity Catalog Volumes
For ad-hoc analysis, business teams frequently receive standalone data files such as CSV spreadsheets, JSON extracts, or Parquet files. Databricks enables users to upload files directly into the lakehouse using the Databricks Workspace UI .
Unity Catalog Volumes vs. Legacy DBFS
Historically, file uploads landed in the Databricks File System (DBFS) root or DBFS mounts. Modern Databricks architectures replace legacy DBFS paths with Unity Catalog Volumes . A volume is a Unity Catalog object representing a logical volume of storage in a cloud object storage location. Volumes govern non-tabular datasets, including raw data files, media files, and model artifacts.
Volumes exist in two distinct types:
Managed Volumes : Storage locations managed entirely by Unity Catalog within the default storage location of the containing schema. When a managed volume is deleted, the underlying files are also deleted from cloud storage.
External Volumes : Storage locations mapped to an existing external cloud storage path (such as AWS S3, Azure ADLS Gen2, or Google Cloud Storage). Deleting an external volume removes the Unity Catalog object registration but preserves the underlying physical files in cloud storage.
Workspace UI Upload Limits
The Workspace UI provides an intuitive drag-and-drop interface for uploading files directly into Unity Catalog Volumes under paths following the structure /Volumes/catalog_name/schema_name/volume_name/filename . The Workspace UI supports uploading individual files up to 5 GB in size . For datasets exceeding 5 GB, or for automated ingestion workflows, file transfers must be executed using cloud CLI utilities, Delta Live Tables, or SQL ingestion commands.
Unity Catalog Governance for Cloud File Access
In enterprise environments, data analysts cannot use hardcoded cloud storage credentials—such as AWS Access Keys, Azure SAS tokens, or GCP Service Account keys—in SQL queries or notebooks. Unity Catalog enforces secure file access through a two-tiered security abstraction model:
Storage Credentials : An object that encapsulates a long-term cloud identity (such as an AWS IAM Role, Azure Managed Identity, or GCP Service Account key). Storage Credentials are created by metastore administrators and managed exclusively within Unity Catalog.
External Locations : A Unity Catalog object that combines a Storage Credential with a specific cloud storage path URI (e.g., s3://company-landing-bucket/raw_data/ or abfss://container@account.dfs.core.windows.net/landing/ ).
By granting analysts the READ ACCESSIBLE FILES (or READ FILES ) privilege on an External Location or Volume, administrators permit users to access cloud storage files without exposing underlying storage keys.
API-Driven Data Intake
Beyond Workspace UI uploads and cloud-file paths, the official exam page lists API-driven intake as an ingestion method analysts should recognize.
Common API-driven patterns on Databricks:
Approach What analysts use it for
Databricks REST / Files APIs Programmatically upload files into Unity Catalog Volumes or workspace paths for later COPY INTO / Auto Loader processing
Jobs / workflow APIs Trigger scheduled or event-driven ingestion jobs that land data into Delta tables
Partner / connector APIs Pull SaaS or operational system extracts into landing zones that Databricks then governs in Unity Catalog
Delta Sharing / Marketplace APIs Automate subscription and refresh of externally shared datasets (often paired with Marketplace discovery) External system --(REST/Files/Jobs API)--> Volume or cloud landing zone
- -> COPY INTO / Auto Loader --> Delta table (Unity Catalog)
- How this differs from UI upload
UI upload is interactive and capped (for example, practical browser upload size limits for ad-hoc analyst files).
API-driven intake is automatable, repeatable, and suitable for partner systems or CI-style data drops.
After landing files, analysts still apply the same governance: External Locations/Volumes, certified curated tables, and SQL cleaning before dashboard or Genie consumption.
Exam tip: if a prompt says a source system must push files without a human using the Workspace UI, the answer family is API-driven intake (often followed by Auto Loader or COPY INTO ), not manual Upload.
Batch File Ingestion using SQL COPY INTO
When files continuously arrive in cloud storage or volumes, analysts use the COPY INTO SQL command for batch loading. COPY INTO is a native, SQL-only command designed to load data from cloud file locations directly into existing Delta Lake tables.
- SQL Syntax and Structure COPY INTO catalog_name.sales_schema.monthly_orders
- FROM 's3://company-landing-bucket/sales/2026/05/'
- FILEFORMAT = CSV
- FORMAT_OPTIONS (
- 'header' = 'true',
- 'inferSchema' = 'true',
- 'emptyValue' = ''
- )
- COPY_OPTIONS (
- 'mergeSchema' = 'true',
- 'force' = 'false'
- );
- Execution Options and Options Tuning
FILEFORMAT : Specifies the format of source files. Supported formats include CSV , JSON , PARQUET , ORC , AVRO , BINARYFILE , and TEXT .
FORMAT_OPTIONS : Configures format-specific parsing behaviors. For CSV files, common options include 'header' = 'true' , 'delimiter' = ',' , 'quote' = '"' , and 'dateFormat' = 'yyyy-MM-dd' .
COPY_OPTIONS : Controls loading behavior. Setting 'mergeSchema' = 'true' enables schema evolution, allowing the target Delta table to add new columns present in the source files. Setting 'force' = 'true' forces COPY INTO to re-load all files in the source path regardless of whether they were previously ingested.
Idempotency and Delta Lake Transaction Logs
A fundamental requirement for reliable data pipelines is idempotency —the property where executing an operation multiple times produces the exact same result as executing it once.
COPY INTO provides built-in idempotency. When COPY INTO executes, it records the filenames and modification timestamps of ingested files inside the target Delta Lake table's transaction log ( _delta_log/ ). Cloud Landing Folder: Delta Table Transaction Log (_delta_log):
- ├── sales_2026_05_01.csv --------> Ingested (Commit 001)
- ├── sales_2026_05_02.csv --------> Ingested (Commit 002)
- └── sales_2026_05_03.csv --------> [NEW] Ingested during re-run (Commit 003)
If an analyst re-executes COPY INTO against the same directory, the engine compares the folder contents against the table's transaction history and skips already ingested files . This prevents duplicate rows from polluting downstream reporting.
Comparing File Ingestion Approaches
Databricks provides multiple mechanisms for ingesting and interacting with cloud files. Analysts must select the appropriate pattern based on volume, frequency, and governance requirements:
- Ingestion Feature Workspace UI Upload SQL COPY INTO External Tables ( CREATE TABLE )
- Primary Target Ad-hoc file uploads Batch SQL file loading In-place file querying
- Max File Size 5 GB limit per UI upload Unlimited (scaled via SQL warehouse) Unlimited (files stay in cloud)
Governance Entity Unity Catalog Volumes External Locations & Storage Credentials External Locations & Storage Credentials
- Data Movement Copies file into UC Volume Ingests data into Delta Lake table Zero-copy (reads files in-place)
- Idempotency N/A (manual overwrite) Guaranteed via Delta transaction log N/A (read-only view over files)
- Performance Best for small datasets (<5 GB) High throughput for batch ingestion Slower query read speeds
- Real-World Analyst Ingestion Scenario
Consider a financial analyst responsible for generating monthly revenue reports. Raw transaction exports arrive as CSV files in an S3 bucket managed by an external vendor.
Step 1: Access Verification : The administrator creates an External Location s3://vendor-finance-bucket/monthly_exports/ and grants the analyst READ ACCESSIBLE FILES .
Step 2: Initial Table Creation : The analyst defines an empty target Delta table in Unity Catalog: CREATE TABLE finance_catalog.revenue_db.raw_vendor_sales (
- transaction_id STRING,
- customer_id STRING,
- amount DECIMAL(10,2),
- transaction_timestamp TIMESTAMP
- ) USING DELTA;
Step 3: Batch Ingestion : The analyst schedules a weekly job executing COPY INTO : COPY INTO finance_catalog.revenue_db.raw_vendor_sales
- FROM 's3://vendor-finance-bucket/monthly_exports/'
- FILEFORMAT = CSV
- FORMAT_OPTIONS ('header' = 'true')
- COPY_OPTIONS ('mergeSchema' = 'true');
Because COPY INTO is idempotent, scheduling this query ensures newly arriving vendor CSV files are ingested weekly without duplicating historical sales data.