SPLWare/esProc
SPLWare/esProc has 4,677 GitHub stars and 359 forks. GitHot measured -1 stars in 24 hours and -1 in 7 days. Last checked 2026-11-13 20:37 UTC. Last push 2026-11-12.
实测星标增长
- 24小时
- -1
- 7天
- -1
- 15天
- 正在收集历史
- 1个月
- 正在收集历史
各周期内的星标净变化,周期相互重叠,并非每日新增。缺失的测量保持空白。星标代表关注度,不代表软件质量。
关于
esProc SPL is a JVM-based programming language designed for structured data computation, serving as both a data analysis tool and an embedded computing engine.
数据README.md
原文About esProc SPL
esProc SPL is a programming language. Unlike most text-based programming languages, SPL code is written in a grid similar to Excel, and just like Excel, you can see the execution results step by step in real-time. This reduces the learning curve for beginners and provides an excellent interactive experience:

SPL provides standard programming language features like branching, looping, and even recursion. Notably, SPL has powerful set operation capabilities, making the code more concise. For instance, the famous eight queens puzzle can be solved in just a few lines.

You can try it at: https://try.esproc.com/splx?3VU, and find more code examples at: https://c.esproc.com/article/1688024127696#toc_h2_2.
SPL stands for Structured Process Language, and its main goal is structured data computation. Currently, SQL is the mainstream language in this field, but SQL has many limitations and often requires external help, such as Python, to implement a full computational task. SPL introduces discreteness based on set operations for structured data tables, integrating the shared advantages of SQL and Java, allowing you to achieve the effect of SQL+Python using only SPL.
From this essay The most powerful grouping operation in history, bar none, you can gain insight into one aspect of SPL's stronger language capabilities and understand why SPL can cover SQL+Python. With even more powerful features yet to be explored, SPL has the potential to revolutionize how complex data processing tasks are handled.
We are constantly collecting practical SQL problems and solving them in SPL here: https://c.esproc.com/tag/Application. Through these examples, you'll further appreciate SPL's elegance and powerful cappabilities.
esProc is developed entirely in Java, allowing it to be seamlessly integrated into Java applications and deployed as part of them. SPL also offers robust multi-data source capabilities, supporting a variety of data sources, including RDBs, NoSQL, and more - possibly the most in the industry.
esProc can easily implement lightweight multi-data source hybrid computations, rather than relying on a heavy logical data warehouse, making it an ideal embedded computation engine for report queries and other application systems.
Install and start
For open-source users, we have not provided an automatic installation package, but rather a ZIP file. You can find the installation instructions here: https://c.esproc.com/article/1718848717817.
Additionally,Eclipse developer can download the source code and obtain instructions here.
Note: the source code of com.scudata.ide module is located in ide directory, and you need to add its corresponding folder under "Source folders". Find more details in https://c.esproc.com/article/1677815008127.
For other editions, installation packages can be downloaded from https://www.esproc.com/download-esproc/. No further instructions are necessary, as the installation process is straightforward.
Learn esProc SPL
This book: SPL Programming is a good start for learning SPL syntax. The book intends for beginners who do not have any programming experiences. Look it through quickly if you are a veteran, but the object understanding explained in section 4.4 is worth a study. Chapter 5 is important, too. It explains SPL’s set-oriented way of thinking, which is quite different from the other languages. But once you understand and master SPL, you can write elegant code. Chapters 8-10 are staple of SPL learning. It regards the structured data computations in a different perspective from SQL. This is significant even for the professional programmers! From the SPL point of view, SQL is a little simple in understanding the structured data as the world is complex. The knowledges you obtained in various database courses are not broad and profound enough! You need a review and brush-up!
Find basic SPL concepts in this post: SPL concepts for beginners. For beginners, you can find characteristic basic computations of SPL in SPL Operations for Beginners. Experienced programmers can quickly understand the differences between SPL and SQL. A software architect can understand the differences between SPL and traditional databases after reading Q&A of esProc Architecture.
Find comprehensive SPL documentation in SPL Learning materials. Generally, an application programmer can get started in handling basic operations from database connection: SPL: Connecting to Databases and database read/write SPL: Reading and Writing Database Data or file access and computation SPL: Reading and Writing Structured Text Files. Then you can learn how to integrate SPL in a Java application How to Call an SPL Script in Java. Those make a simple learning loop.
High-performance computations are relatively difficult, but there is a systematic book on algorithms: Performance Optimization. Performance optimization algorithms are not unique to SPL. You can implement high-performance computations using another programming language (except for SQL) after you learn these algorithms. The key lies in algorithm instead of syntax. Yet, you need to grasp SPL concept and syntax well in order to better understand the algorithms.
The SPL learning posts above also contain applications of the performance optimization algorithms.
Storage forms the cornerstone of high-performance computing. The following post introduces the proprietary storage schema commonly used in SPL for beginners: How to use SPL storage for beginners. Usually, the first step of performance optimization is designing an appropriate storage schema.
You are welcome to post your troubles and problems when trying to achieve high performance computing and discuss with us to find a solution: Wanted! Unbearably slow query and batch job.
Useful Links
- esProc Official WebSite: http://www.esproc.com Forum: http://c.esproc.com/
- Tutorial esProc download, installation, as well as principles and applications
- Function Reference esProc syntax, applications and examples
- User Reference esProc programming by examples
- External Library Guide Deployment of and connection to esProc external libraries
- Please head to Download esProc SPL to download esProc executable files
- How to Get Open-source esProc for Eclipse through Git
License
esProc is under the Apache 2.0 license. See the LICENSE file for details.
探索相关项目
Asabeneh/30-Days-Of-Python
30 Days of Python 编程挑战是一份循序渐进的指南,用于在 30 天内学习 Python 编程语言。这项挑战可能需要超过 100 天。请按自己的节奏进行。这些视频或许也有帮助:https://www.youtube.com/channel/UC7PNRuno1rzYPb1xLa4yktw
78,700 星标grafana/grafana
开放且可组合的可观测性与数据可视化平台。可对来自 Prometheus、Loki、Elasticsearch、InfluxDB、Postgres 等众多数据源的指标、日志和追踪进行可视化。
77,885 星标redis/redis
对于正在构建实时数据驱动应用的开发者而言,Redis 是首选、速度最快且功能最丰富的缓存、数据结构服务器和文档与向量查询引擎。
77,495 星标apache/superset
Apache Superset 是一个数据可视化与数据探索平台
75,517 星标