Introducing SPL: An Open‑Source Structured Data Processing Language with Full SQL‑92 Capabilities
SPL is an open‑source structured data processing language that extends full SQL‑92 functionality to a wide range of data sources—including CSV, Excel, JSON, NoSQL and Hadoop—allowing developers to perform complex queries, multi‑step calculations, and mixed‑source analytics without a traditional relational database.
SPL (Structure Process Language) is an open‑source computation engine that provides full SQL‑92 capabilities without requiring a relational database, allowing users to run SQL‑like queries directly on a wide variety of data sources such as CSV, Excel, JSON, XML, NoSQL stores, HDFS, Hive, Spark, Kafka and more.
Typical SQL operations – filtering, computed columns, SELECT, ORDER BY, DISTINCT, GROUP BY … HAVING, JOIN types (left, right, full, inner), sub‑queries, AS aliasing, set operations (UNION, INTERSECT, MINUS) and INTO for exporting results – are all supported, with examples such as:
$select * from d:/Orders.csv where Amount>=100 and Client like '%bro%' $select round(Amount,2), price*quantity from d:/Orders.csv $select year(OrderDate) from d:/Orders.csv $select distinct Client, Sellerid from d:/Orders.csv $select Client,sum(Amount) from d:/Orders.csv group by Client having sum(Amount)<=100 $select o.OrderId,o.Client,e.Name from d:/Orders.txt o left join d:/Employees.txt e on o.SellerId=e.EidSPL also offers extended functions to import non‑standard sources, e.g., custom delimiters, header‑less files, HTTP‑downloaded CSV/JSON, Excel sheets, and to parse complex JSON or XML structures into two‑dimensional tables.
Beyond single‑step SQL, SPL enables multi‑step calculations by chaining statements, making complex analytics such as longest consecutive stock rise days or cumulative sales ranking much shorter and easier to read than equivalent window‑function SQL.
For interactive analysis SPL provides a dedicated IDE with step‑by‑step debugging and visual tables, a command‑line interface for any OS, and a JDBC driver for seamless integration into Java applications, allowing SPL scripts to be called as stored procedures or external files.
In summary, SPL gives developers a flexible, database‑agnostic query language that bridges the gap between traditional RDBMS SQL and modern heterogeneous data environments, reducing development effort and improving performance for mixed‑source analytics.
IT Xianyu
We share common IT technologies (Java, Web, SQL, etc.) and practical applications of emerging software development techniques. New articles are posted daily. Follow IT Xianyu to stay ahead in tech. The IT Xianyu series is being regularly updated.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.