4 SPL Learning materials


The path for programmers to learn SPL

SPL concepts for beginners
SPL Operations for Beginners
How to use SPL storage for beginners


SPL Programming
SPL Performance optimization
SPL CookBook
SPL Math routine

Invocation & Intergration

How to Call an SPL Script in Java
How to Call a Remote SPL Script in Java
How to Call an SPL Script in C#
How to Call an SPL Script using HTTP Service
How to Call an SPL Script in BIRT
How to Call an SPL Script in JasperReport
SPL: integrated with Kettle
Spring Cloud integrate SPL to implement microservices

How to Call an SPL Script in Python
Integrate SPL in Android apps

SPL: Invoking Java Functions
SPL: User-defined Functions
How to Call a Python Program from SPL
Data mining, modeling and prediction in SPL

esProc Boot Time Auto-Start Service
Deploy and Use RSRV in esProc Enterprise Edition
esProc Elastic Compute Service Work Procedure
Writing AWS Lambda Functions in SPL

Data Source

SPL: Connecting to Databases
SPL: Reading and Writing Database Data
SPL: Translating SQL across databases
SPL: Parallel data retrieval skill
SPL: Data dump

SPL: Reading and Writing JSON Data
SPL: Reading and Writing XML Data
SPL: Access to HTTP/WebService/Restful service

SPL: Access MongoDB
SPL: Access HDFS
SPL: Access HBase
SPL: Access Redis
SPL: Access FTP
SPL: Access Cassandra
SPL: Access Kafka
SPL: Access InfluxDB
SPL: Access Elasticsearch

Calculation Logic

General Data Table Operations in SPL
General Operations on Cursors in SPL
SQL Query over File Examples

SPL: Text Handling
SPL: Date, Time and Datetime Handling

SPL: taking the record of maximum values/maximum values in group
SPL: recounting after obtaining a grouped subset
SPL: TopN and TopN in group
SPL: selecting data by segment
SPL: grouping & aggregation
SPL: adjacent record reference
SPL: order-related grouping
SPL: grouping and sorting aligned by a specified criterion
SPL: grouping and sorting aligned by sequence number
SPL: grouping by enumeration criteria
SPL: Recursively Search Referenced Records
SPL: Set Operations
SPL: Static Transposition
SPL: Complicated Static Transposition
SPL: One-to-One Table Associations
SPL: One-to-many Table Associations
SPL: Many to One Join
SPL: Many to Many Join

The Select Operation on Structured Data
Loop Computations
Accessing Members of a Structured Data Set by Sequence Numbers
Locate Operation on Ordered Sets
Alignment Operations between Ordered Sets
“Top N” Queries on Structured Data
Existence Checking for Structured Data
Membership Test for Structured Data
Non-basic Aggregation Examples
Handling Alignment Grouping

File Operations

SPL: Reading and Writing Structured Text Files
SPL: Reading, writing, and parsing of unstructured text
SPL: Reading and Writing Excel Files
Sample Programs of Structuralizing Excel Files
SPL: Operation on the directory of a file

Samples of Merging and Splitting Files
Samples of Comparing Files
Sample Programs of Performing Distinct on a File

Samples of Generating Various Excel Files
Generate formatted reports using the external library ReportLite

High-performance Algorithm

General operations on SPL files
Performance Optimization Exercises Using TPC-H
Performance Optimization Practice

Performance optimization skill: Use Multi-purpose traverse to speed up multiple grouping
Performance optimization skill:TopN
Performance optimization skill: Pre-Joining
Performance optimization skill: Partial Pre-Association
Performance optimization skill: Numberizing Foreign Key
Performance optimization skill: Association For Dimension Table Filtering & Computation
Performance optimization skill: Ordered MERGE
Performance optimization skill: Ordered Locate Association to speed up the filtering on joined primary-sub tables
Performance optimization skill: Attached Table
Performance optimization skill: Associating Small Fact Table with Big Dimension Table
Performance optimization skill: Associating Big Fact Table with Big Dimension Table
Performance optimization skill: ordered grouping
Performance Optimization Skill: Second-half Ordered Grouping
Performance Optimization Skill: First-half Ordered Sorting

SQL Performance Enhancement: IN Operator in WHERE Clause
SQL Performance Enhancement: Segmentation-based Grouping & Aggregation
SQL Performance Enhancement: TopN and Intra-group TopN
SQL Performance Enhancement: DISTINCT & COUNT(DISTINCT) on Big Data
SQL Performance Enhancement: Big Table Associations on the Primary Key
SQL Performance Enhancement: Multiple Grouping & Aggregate Operations on a Big Table
SQL Performance Enhancement: Select the Earliest Records in each Group
SQL Performance Enhancement: Count N Earliest Events in each Group
SQL Performance Enhancement: Conversion Funnel Analysis
SQL Performance Enhancement: Binary Flag
SQL Performance Enhancement: Queries on Highly Concurrent Accounts
SQL Performance Enhancement: highly concurrent queries with associated dimension table

Technical subject

Double increment segmentation of SPL
Ordered storage of SPL
One-side partitioning algorithm of SPL
In-memory index of SPL
External storage index of SPL
Full-text index of SPL
Multipurpose traversal of SPL
SPL Program Cursor
SPL Order-based Merge Join
SPL Attached Table
Association location algorithm of SPL
Pre-calculating mechanism of SPL
SPL Pseudo Table Data Type Optimization
SPL Pseudo Table Bi-dimension Ordering Mechanism

Sequence-numberization of SPL
The Positioning Operation and Position Utilization of SPL
SPL Viewing Lambda Syntax
Macros in SPL
Global variable/ Variable/Lock

Association calculation in SPL - In-memory join
Association calculation in SPL - external storage join
New association calculation methods of SPL
SPL time key
Column-wise computing of SPL
SPL Multizone Composite Tables


DQL Practices: Metadata and Syntax
DQL Practices: WEB Interface
DQL Practices – Data Permission