Apache Spark SQL Parser Support in GSP¶
Explore the Apache Spark SQL Parser product page
This page documents the SQL syntax support for Apache Spark SQL in the General SQL Parser.
Syntax Coverage Corpus¶
GSP tests Spark SQL syntax against 70 documented constructs grouped into 6 categories, each cross-referenced to the documentation that defines it (69 distinct source pages).
Parse coverage¶
Measured against GSP Java 4.2.9 on 2026-09-09 (UTC) (artifact sha256 3bb68197fad6). Each construct below carries the complete set of examples from the Spark SQL documentation; a construct counts as fully covered only when every one of its examples parses. Percentages are pass rates over this documented-example corpus — not a percentage of the entire SQL dialect.
| Constructs fully parsed | Individual statements parsed | |
|---|---|---|
| All constructs | 69 of 70 (99%) | 241 of 243 (99%) |
| SELECT (queries) | 21 of 21 (100%) | 93 of 93 (100%) |
| DML (INSERT / UPDATE / DELETE / MERGE) | 4 of 4 (100%) | 17 of 17 (100%) |
| Stored procedures | 1 of 1 (100%) | 3 of 3 (100%) |
Statements are split using the parser's own statement splitter, so multi-statement examples and procedure bodies are counted correctly. The SELECT, DML and stored-procedure rows classify each statement by its parsed statement type: a construct is counted in a row when its examples contain at least one statement of that class, and is fully parsed when all of them parse. Stored procedures covers CREATE PROCEDURE / FUNCTION / PACKAGE / TRIGGER definitions and anonymous blocks.
Machine-readable: dialect data (JSON) · all-dialect matrix · coverage matrix overview
All 70 constructs¶
| Construct | Category | Parses | Specified in |
|---|---|---|---|
ADD FILE |
all 5 | Spark docs | |
ADD JAR |
all 4 | Spark docs | |
ALTER DATABASE |
all 1 | Spark docs | |
ALTER TABLE |
5 of 7 | Spark docs | |
ALTER VIEW |
all 4 | Spark docs | |
ANALYZE TABLE |
all 4 | Spark docs | |
CREATE DATABASE |
all 3 | Spark docs | |
CREATE FUNCTION |
all 3 | Spark docs | |
CREATE VIEW |
all 2 | Spark docs | |
DROP DATABASE |
all 2 | Spark docs | |
DROP FUNCTION |
all 2 | Spark docs | |
DROP TABLE |
all 3 | Spark docs | |
DROP VIEW |
all 2 | Spark docs | |
EXPLAIN |
all 2 | Spark docs | |
LIST FILE |
all 2 | Spark docs | |
LIST JAR |
all 2 | Spark docs | |
LOAD DATA |
all 2 | Spark docs | |
REPAIR TABLE |
all 1 | Spark docs | |
RESET |
all 2 | Spark docs | |
SELECT CASE |
all 3 | Spark docs | |
SELECT CLUSTER BY |
all 1 | Spark docs | |
SELECT Common Table Expression |
all 5 | Spark docs | |
SELECT DISTRIBUTE BY |
all 1 | Spark docs | |
SELECT File |
all 3 | Spark docs | |
SELECT GROUP BY |
all 6 | Spark docs | |
SELECT HAVING |
all 3 | Spark docs | |
SELECT Hints |
all 14 | Spark docs | |
SELECT Inline Table |
all 3 | Spark docs | |
SELECT JOIN |
all 7 | Spark docs | |
SELECT LATERAL VIEW |
all 4 | Spark docs | |
SELECT LIKE Predicate |
all 10 | Spark docs | |
SELECT LIMIT |
all 3 | Spark docs | |
SELECT ORDER BY |
all 3 | Spark docs | |
SELECT PIVOT |
all 2 | Spark docs | |
SELECT Set Operators |
all 3 | Spark docs | |
SELECT SORT BY |
all 3 | Spark docs | |
SELECT Table-valued Functions |
all 9 | Spark docs | |
SELECT TABLESAMPLE |
all 3 | Spark docs | |
SELECT WHERE |
all 2 | Spark docs | |
SELECT Window Functions |
all 5 | Spark docs | |
SET |
all 4 | Spark docs | |
SET TIME ZONE |
all 5 | Spark docs | |
TRUNCATE TABLE |
all 1 | Spark docs | |
USE Database |
all 1 | Spark docs | |
CACHE TABLE |
CACHE | all 1 | Spark docs |
CLEAR CACHE |
CACHE | all 1 | Spark docs |
REFRESH |
CACHE | all 1 | Spark docs |
REFRESH FUNCTION |
CACHE | all 2 | Spark docs |
REFRESH TABLE |
CACHE | all 2 | Spark docs |
UNCACHE TABLE |
CACHE | all 1 | Spark docs |
CREATE DATASOURCE TABLE |
CREATE DATASOURCE | all 6 | Spark docs |
CREATE HIVEFORMAT TABLE |
CREATE DATASOURCE | all 11 | Spark docs |
CREATE TABLE LIKE |
CREATE DATASOURCE | all 4 | Spark docs |
DESCRIBE DATABASE |
DESCRIBE | all 2 | Spark docs |
DESCRIBE FUNCTION |
DESCRIBE | all 2 | Spark docs |
DESCRIBE QUERY |
DESCRIBE | all 4 | Spark docs |
DESCRIBE TABLE |
DESCRIBE | all 5 | Spark docs |
INSERT INTO |
INSERT | all 7 | Spark docs |
INSERT OVERWRITE |
INSERT | all 6 | Spark docs |
INSERT OVERWRITE DIRECTORY |
INSERT | all 2 | Spark docs |
INSERT OVERWRITE DIRECTORY with Hive format |
INSERT | all 2 | Spark docs |
SHOW COLUMNS |
SHOW | all 2 | Spark docs |
SHOW CREATE TABLE |
SHOW | all 1 | Spark docs |
SHOW DATABASES |
SHOW | all 2 | Spark docs |
SHOW FUNCTIONS |
SHOW | all 5 | Spark docs |
SHOW PARTITIONS |
SHOW | all 4 | Spark docs |
SHOW TABLE EXTENDED |
SHOW | all 2 | Spark docs |
SHOW TABLES |
SHOW | all 3 | Spark docs |
SHOW TBLPROPERTIES |
SHOW | all 3 | Spark docs |
SHOW VIEWS |
SHOW | all 5 | Spark docs |
Key Features Supported¶
- Standard SQL operations (SELECT, INSERT, UPDATE, DELETE)
- Spark SQL-specific functions and data types
- DataFrame and Dataset operations
- Window functions and analytical queries
- Streaming SQL operations
- Delta Lake and data lake integrations