Dark Light
, ,

esProc -Big Data Computing Engine (Server)


Innovative Big Data Computing Engine

  • More efficient than SQL/Java/Python/R
  • Specializing in structured data processing
  • Suitable for multi-step computation
  • Supporting parallel and cluster computing

What is esProc?

Data File Processor | SQL Enhancer | Report Data Source | JAVA Computing Layer

What does esProc solve?

Data File Processor

  • Self processing text Excel
  • Non professional developers quickly explore the data at hand
  • Text types are various and format is not standard
  • Excel has various versions and special layout
  • Batch processing of files

SQL Enhancer

  • Solve difficult database problems on desktop
  • Computation with complex logic
  • Multi step procedure computing
  • Large amount of temporary calculation
  • Exploratory analysis with high degree of freedom

Report Data Source

  • Diverse data sources,cross database & cross source
  • SQL with complex logic
  • Tedious Java custom data source
  • Stored procedure outside database that is low coupling and portable

JAVA Computing Layer

  • SQL is forbidden, require java to implement algorithm
  • Non RDB data source
  • Cross database computation
  • Complex algorithm, procedural algorithm
  • Stored procedure outside database that is hot deployed and low coupling

Report Data Source

JAVA Computing Layer


Agile programming language

SPL(Structured Process Language)

Combined the common advantages of SQL and Java
  • Adapt to set batch computation (SQL advantage)
  • Good at step-by-step procedure computing (Java advantage)
Well designed rich library functions and consistency syntax
  • Easier to master and better performance than Python
e.g.Count the longest consecutively rising trading days for a stock.


1 import pandas as pd
2 def iterate(col):
3 prev = 0;
4 res = 0;
5 val = 0;
6 for curr in col:
7 if curr – prev > 0:
8 res += 1;
9 else:
10 res = 0;
11 prev = curr;
12 if val < res:
13 val = res;
14 return val;
15 data = pd.read_excel(‘D:/Stock.xlsx’,sheet_name=0). sort_values(‘tradeDate’).groupby(‘Company’)[‘closePrice’].apply(iterate);


1 select max(continuousDays)-1
2 from (select count(*) continuousDays
3 from (select sum(changeSign) over(order by tradeDate) unRiseDays
4 from (select tradeDate,
5 case when closePrice>lag(closePrice) over(order by tradeDate)
6 then 0 else 1 end changeSign
7 from stock) )
8 group by unRiseDays)


1 =stock.sort(tradeDate)
2 =0
3 =A1.max(A2=if(closePrice>closePrice[-1],A2+1,0))
Syntax suitable for describing a natural way of thinking!
Professional syntax in the field of set operation, code is more concise for the same process!


CASEAn insurance company – stored procedures outside the database

Vertica does not support stored procedures. Complex business logic can only be written in Java. Long code is hard to maintain.

User Evaluation

  1. The best use for us is to pass parameters to the Vertica database.
  2. Each cell becomes a data array that are easy to use, compare and manipulate. It is very logical and you have made it user friendly.

Application Effect

  1. Enable Vertica to support stored procedures outside the database
  2. The implementation of procedural algorithm is simple and friendly
  3. BIRT data preparation is simple and efficient



Call (10AM-6PM)
error: This Content is copyright with Softwarebazar.in !!