SPL Learning materials
- Q&A of esProc Architecture
- The path for programmers to learn SPL
- SPL concepts for beginners
- SPL Operations for Beginners
- How to use SPL storage for beginners
Book&Course
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 Structured Text Files
- SPL: Reading, writing, and parsing of unstructured text
- SPL: Reading and Writing Excel Files
- SPL: Operation on the directory of a file
- 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
File Operations
- SPL general table operations
- Samples of Merging and Splitting Files
- Samples of Comparing Files
- Sample Programs of Performing Distinct on a File
- SQL Query over File Examples
- Sample Programs of Structuralizing Excel Files
- Samples of Generating Various Excel Files
- Samples of Processing Big Text File
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
- How to Call an SPL Script in Python
- SPL: integrated with Kettle
- esProc Boot Time Auto-Start Service
- SPL: Invoking Java Functions
- SPL: User-defined Functions
- How to Call a Python Program from SPL
- Spring Cloud integrate SPL to implement microservices
- Build SPL Microservices with Spring Cloud
- Integrate SPL in Android apps
Calculation Logic
- General SQL-style Operations in SPL
- General SQL-style Operations on Cursors in SPL
- 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
High-performance Algorithm
- 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
Series of Practices
User Behavior Analysis
- User Behavior Analysis in Practice 1: Conventional Grouping and Aggregation
- User Behavior Analysis in Practice 2: Redundant Grouping Key Field
- User Behavior Analysis in Practice 3: Order-based Filtering Using Binary Search
- User Behavior Analysis in Practice 4: Using Column-wise Storage
- User Behavior Analysis in Practice 5: Using Dimension Table
- User Behavior Analysis in Practice 6: Numberizing the Dimension Table
- User Behavior Analysis in Practice 7: Dimension Table Filtering
- User Behavior Analysis in Practice 8: The Changing Dimension Table
- User Behavior Analysis in Practice 9: Enumerated Dimension and Tag Dimension
- User Behavior Analysis in Practice 10: Ordered Storage by Account
- User Behavior Analysis in Practice 11: Order-based Grouping
- User Behavior Analysis in Practice 12: Using Pseudo Tables
- User Behavior Analysis in Practice 13: Bi-dimension Ordering
- User Behavior Analysis in Practice 14: Real-time T+0 Analysis
Multidimensional analysis server
- Multidimensional Analysis Backend Practice 1: Basic Wide Table
- Multidimensional Analysis Backend Practice 2: Data Type Optimization
- Multidimensional Analysis Backend Practice 3: Dimensions Sorting and Compression
- Multidimensional Analysis Backend Practice 4: Pre-aggregate and Redundant Sorting
- Multidimensional Analysis Backend Practice 5: small fact table associate with small dimension table
- Multidimensional Analysis Backend Practice 6: big fact table associate with small dimension table
- Multidimensional Analysis Backend Practice 7: Boolean Dimension and Binary Dimension
- Multidimensional Analysis Backend Practice 8: Primary-sub Table and Parallel Calculation