TrustRadius: an HG Insights company

What is esProc SPL Community?

esProc SPL is an open-source and JVM-based analyzing and computing engine for structured data and semi-structured data, and capable at solving data problems, including hard to write, slow to run and difficult to operate and maintain.

esProc SPL adopts self-created SPL (Structured Process Language) syntax, boasting the characteristics of low code, high performance, lightweight and versatility. Compared with SQL, SPL has more abundant data types and calculation features, which enhances its computing and description abilities; SPL provides more agile syntax and advocates step-wise coding, which allows the implementation of complex calculation logic according to natural thinking, as well as debugging and correcting errors, to reduce development cost. SPL encapsulates a algorithms (and storage) and needs less hardware to achieve the same performance, to reduce hardware costs as well.

SPL is more open in computing ability, so users can calculate directly on various data sources, and it supports independent or integrated use, making the framework lighter; in addition, SPL offers functions that make it easier to implement complex calculation, and accomplish tasks without other technologies, lowering O & M costs. Moreover, SPL can replace some data analysis and statistical technologies such as Python, Scala, Java, Kotlin.

esProc SPL provides a development environment with debugging functions, enabling users to code step by step, and view the running result of each step in real time. SPL is a specially designed syntax system, and naturally supports step-wise calculation, and complex procedural calculation in particular. SPL has built-in rich data computing library, including string, date and time, mathematical calculations, file and database read/write, JSON/XML multi-layer data parsing, and AI modeling and prediction.

esProc SPL can run independently or be integrated in applications to serve as an in-application computing engine to play an important role in scenarios such as micro-service, edge computing, and report data preparation. esProc SPL supports diverse data sources, including dozens of data sources like MongoDB, Elasticsearch, Hbase, HDFS and Influxdb. Such data can be calculated directly or in a mixed way without loading them into database. In addition, SPL provides its own data file storage, these private data formats not only make performance higher, but allow users to store data based on business category in file system tree directory.

In addition to off-line batch job and on-line query, esProc SPL also supports more application scenarios: data-driven micro-service, replacing stored procedures, eliminating intermediate tables from databases, handling endless report development requirements, programmable data routing to implement front-end calculation, mixed computation to implement real-time HTAP, and performing computation on files to implement Lakehouse.

Categories & Use Cases

Media

Debugging functions: set breakpoints, execute to cursor, single step, enter, skip, jump back. What you see is what you get, it is convenient to refer to intermediate results. Complete programming ability, the amount of code is smaller than that of Java, C#, and Python.
supports executing SQL directly on txt/csv/xls/xlsx files, including operations such as condition filtering, fuzzy querying, group summarization, Join, from clause, with clause, Case when, COALESCE, Top-N, and limit n offset m.
supports multi-step computation, which can break down a complex computing task into several simpler calculation steps to reduce computational complexity. The results of each step can be observed, making it easier to debug and maintain.
provides an IDE that not only offers debugging and unit format programming, but also provides quick function help. Simply move the cursor to a function and press the Alt key to display a detailed explanation of the function.
supports a complete flow processing structure, which has been simplified, including loops, conditionals, and sequential execution. This is an example of SPL code for solving the "Eight Queens Problem" to illustrate this.

1 / 5