Point it at the folder

DISCOVER bronze.landing.orders
PATH 'incoming/orders';
The path is relative to the zone storage root. The zone supplies the storage location and credentials.

After registration, query the folder like any other table:

SELECT *
FROM bronze.landing.orders
LIMIT 100;

Review the generated SQL first

Use PRINT to inspect the exact table definition without creating anything:

DISCOVER bronze.landing.orders
PATH 'incoming/orders'
PRINT;
Remove PRINT when the generated DDL looks correct.

Scan nested folders and retain file provenance

DISCOVER bronze.landing.events
PATH 'incoming/events'
WITH (
    recursive = true,
    file_metadata = true
);
File metadata adds source filename and row-number columns to the registered table.

What it detects

  • CSV dialect, delimiter, quoting, headers, and inferred types.
  • JSON, NDJSON, and XML structures with generated flattening options.
  • Parquet, Avro, ORC, and Excel from their binary signatures.
  • HL7, EDI, and FHIR text structures.
  • Existing Delta Lake and Iceberg table layouts.

Local and cloud use the same command

The path stays relative whether the zone points to a local folder, ADLS, S3, or GCS. Storage credentials remain attached to the zone instead of being placed in the SQL statement.

Keep the folder coherent

A folder should contain one data format. DISCOVER samples files to verify agreement and unions compatible JSON, NDJSON, or XML shapes. For ambiguous data, pin the format explicitly:

DISCOVER bronze.landing.clicks
PATH 'incoming/clicks'
WITH (format = 'ndjson');

Why this matters

File exploration often starts with extensions, documentation, schema guesses, and hand-written table options. DISCOVER compresses that setup into one reviewable command, so raw landed data can become queryable in seconds.