Download esproc spl community
Author: c | 2025-04-24
Download esProc SPL Community latest version for Windows free. esProc SPL Community latest update: esProc SPL Community. esProc SPL is an open-source, low-cost, high-performance and lightweight analysis engine for structured data. Download popular programs
About esProc SPL - esProc SPL Official Website
EsProc provides its own JDBC driver to become integration-friendly with a Java application. The method of calling an esProc SPL script is similar to the execution of SQL queries and stored procedures in Java.Deploying esProc JDBC in a Java applicationSimply put, to deploy JDBC in a Java application is to put in place the necessary jars and configuration files for loading esProc when starting the application. esProc JDBC requires JDK 1.8 or a higher version.1. Load driver jarsesProc JDBC is like a database JDBC driver without physical tables. It can be regarded simply as a database that only supports the stored procedure. It has a built-in computing engine that can perform all calculations independently. A database’s JDBC, however, functions only as an interface and an extra standalone server is needed to perform calculations.esProc JDBC has two basic jars, which are all situated in [installation directory]\esProc\lib. With a web application project, these jars can be put in WEB-INF\lib.esproc-bin-xxxx.jar //esProc computing engine and JDBC drivericu4j-60.3.jar //Handle internationalizationBesides, there are jars for fulfilling specific functionalities:To use databases as the data sources in esProc JDBC, their driver jars are required.To read and write an Office file, poi*.jar and xmlbeans-4.0.0.jar are needed.To use the graphic function in esProc JDBC, jars for SVG-typed image processing are required, including batik*.jar, js-1.0.jar, pdf-transcoder-1.0.jar, xalan-2.7.0.jar, xercesImpl-2.12.1.jar, xml-apis-xerces-2.7.1.jar and xml-apis-ext-2.5.0.jar.2. Configure raqsoftConfig.xmlraqsoftConfig.xml is an important configuration file for deploying esProc JDBC, which is located in [installation directory]\esProc\config. It should be copied and placed in the class path of the application project, and its name must not be changed.The raqsoftConfig.xml file contains esProc main path, dfx file’s search path, and etc.Java invocationThe following explains how to call a SPL script from Java.Execute SPL queriesCreate a data table consisting of two fields – baseNum (a natural number less than or equal to 100) and square2 (the number’s square), insert 100 records into it, and return the data as result set.Java code: 1 ) { System.out.print("\t"); } else{ System.out.print("\n"); } System.out.print(title); } while(rs.next()) { for(int c = 1; c 1 ) { System.out.print("\t"); } else { System.out.print("\n"); } Object o = rs.getObject(c); System.out.print(o.toString()); } } //Close the connection if(con!=null) { con.close(); }"> public void runSPL() throws ClassNotFoundException, SQLException{ Connection con = null; PreparedStatement st; ResultSet set ; //Establish a connection Class.forName("com.esproc.jdbc.InternalDriver"); con= DriverManager.getConnection("jdbc:esproc:local://"); // Execute the SPL statement and return result set st = (PreparedStatement)con.createStatement(); ResultSet rs = st.executeQuery("=100.new(~:baseNum,~*~:square2)"); // Output field names. Download esProc SPL Community latest version for Windows free. esProc SPL Community latest update: esProc SPL Community. esProc SPL is an open-source, low-cost, high-performance and lightweight analysis engine for structured data. Download popular programs Download: Visit the EsProc SPL Official website EsProc Download – Open-source SPL Download esProc SPL Community latest version for Windows free. esProc SPL Community latest update: . Download.com. Find apps, programs and more. Main menu. Windows. Windows. Most Popular; esProc SPL Community version 2.1. esProc SPL is an open-source, low-cost, high-performance and lightweight analysis engine for structured data. And detailed data in the result set ResultSetMetaData rsmd = rs.getMetaData(); int colCount = rsmd.getColumnCount(); for( int c = 1; c colCount;c++) { String title = rsmd.getColumnName(c); if( c > 1 ) { System.out.print("\t"); } else{ System.out.print("\n"); } System.out.print(title); } while(rs.next()) { for(int c = 1; ccolCount; c++) { if ( c > 1 ) { System.out.print("\t"); } else { System.out.print("\n"); } Object o = rs.getObject(c); System.out.print(o.toString()); } } //Close the connection if(con!=null) { con.close(); }Result set:Access a local file from SPLYou can access a local file from SPL. esProc supports multiple file types, such as TXT, Excel, JSON, CSV and CTX. Both absolute path and relative path can be used to find the desired file. A relative path is relative to the math directory set in the configuration file raqsoftConfig.xml. First, let’s look at how to configure the main directory.Add the following node under in raqsoftConfig.xml: D:\mainFile"> esProc main directory, which is an absolute path --> mainPath>D:\mainFilemainPath>Put a to-be-called file, like employee.txt, into the main directory. Code for connecting data source connection and outputting result is the same as that in the previous instance. Here’s how to call the SPL statement:ResultSet rs=st.executeQuery("=file("D:\mainFile\employee.txt").import@t()");Both an absolute path and a relative path can be used. The back slash \ is an escape character in Java.Result:As the calculation is simple, you can also use esProc simple SQL syntax to do it:ResultSet rs=st.executeQuery("$()select * from employee.txt");The symbol $() means accessing a local file system. The two phrases get same result.Call SPL statements that connect to data sourceDatabases are one of the most important data sources of esProc JDBC. Let’s look at how to call a SPL statement that connects to the database.First, put corresponding database driver jars into the application project; then set data source information in raqsoftConfig.xml. Suppose the data source name used in an SPL statement is demo and the database type is HSQL, then you can configure it like this:First, load HSQL database driver jar hsqldb-2.2.8.jar into the application project;Second, set data source information in the node in raqsoftConfig.xml. ">DBList>DB name="demo"> property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/demo" /> property name="driver" value="org.hsqldb.jdbcDriver" /> property name="type" value="13" /> property name="user" value="sa" /> property name="password" /> password--> property name="batchSize" value="1000" /> property name="autoConnect" value="true" /> Automatically connect or not. If the value is true, use a SQL statement starting with $ to access the database; if it is false, there will be no automatic connection; establish theComments
EsProc provides its own JDBC driver to become integration-friendly with a Java application. The method of calling an esProc SPL script is similar to the execution of SQL queries and stored procedures in Java.Deploying esProc JDBC in a Java applicationSimply put, to deploy JDBC in a Java application is to put in place the necessary jars and configuration files for loading esProc when starting the application. esProc JDBC requires JDK 1.8 or a higher version.1. Load driver jarsesProc JDBC is like a database JDBC driver without physical tables. It can be regarded simply as a database that only supports the stored procedure. It has a built-in computing engine that can perform all calculations independently. A database’s JDBC, however, functions only as an interface and an extra standalone server is needed to perform calculations.esProc JDBC has two basic jars, which are all situated in [installation directory]\esProc\lib. With a web application project, these jars can be put in WEB-INF\lib.esproc-bin-xxxx.jar //esProc computing engine and JDBC drivericu4j-60.3.jar //Handle internationalizationBesides, there are jars for fulfilling specific functionalities:To use databases as the data sources in esProc JDBC, their driver jars are required.To read and write an Office file, poi*.jar and xmlbeans-4.0.0.jar are needed.To use the graphic function in esProc JDBC, jars for SVG-typed image processing are required, including batik*.jar, js-1.0.jar, pdf-transcoder-1.0.jar, xalan-2.7.0.jar, xercesImpl-2.12.1.jar, xml-apis-xerces-2.7.1.jar and xml-apis-ext-2.5.0.jar.2. Configure raqsoftConfig.xmlraqsoftConfig.xml is an important configuration file for deploying esProc JDBC, which is located in [installation directory]\esProc\config. It should be copied and placed in the class path of the application project, and its name must not be changed.The raqsoftConfig.xml file contains esProc main path, dfx file’s search path, and etc.Java invocationThe following explains how to call a SPL script from Java.Execute SPL queriesCreate a data table consisting of two fields – baseNum (a natural number less than or equal to 100) and square2 (the number’s square), insert 100 records into it, and return the data as result set.Java code: 1 ) { System.out.print("\t"); } else{ System.out.print("\n"); } System.out.print(title); } while(rs.next()) { for(int c = 1; c 1 ) { System.out.print("\t"); } else { System.out.print("\n"); } Object o = rs.getObject(c); System.out.print(o.toString()); } } //Close the connection if(con!=null) { con.close(); }"> public void runSPL() throws ClassNotFoundException, SQLException{ Connection con = null; PreparedStatement st; ResultSet set ; //Establish a connection Class.forName("com.esproc.jdbc.InternalDriver"); con= DriverManager.getConnection("jdbc:esproc:local://"); // Execute the SPL statement and return result set st = (PreparedStatement)con.createStatement(); ResultSet rs = st.executeQuery("=100.new(~:baseNum,~*~:square2)"); // Output field names
2025-04-07And detailed data in the result set ResultSetMetaData rsmd = rs.getMetaData(); int colCount = rsmd.getColumnCount(); for( int c = 1; c colCount;c++) { String title = rsmd.getColumnName(c); if( c > 1 ) { System.out.print("\t"); } else{ System.out.print("\n"); } System.out.print(title); } while(rs.next()) { for(int c = 1; ccolCount; c++) { if ( c > 1 ) { System.out.print("\t"); } else { System.out.print("\n"); } Object o = rs.getObject(c); System.out.print(o.toString()); } } //Close the connection if(con!=null) { con.close(); }Result set:Access a local file from SPLYou can access a local file from SPL. esProc supports multiple file types, such as TXT, Excel, JSON, CSV and CTX. Both absolute path and relative path can be used to find the desired file. A relative path is relative to the math directory set in the configuration file raqsoftConfig.xml. First, let’s look at how to configure the main directory.Add the following node under in raqsoftConfig.xml: D:\mainFile"> esProc main directory, which is an absolute path --> mainPath>D:\mainFilemainPath>Put a to-be-called file, like employee.txt, into the main directory. Code for connecting data source connection and outputting result is the same as that in the previous instance. Here’s how to call the SPL statement:ResultSet rs=st.executeQuery("=file("D:\mainFile\employee.txt").import@t()");Both an absolute path and a relative path can be used. The back slash \ is an escape character in Java.Result:As the calculation is simple, you can also use esProc simple SQL syntax to do it:ResultSet rs=st.executeQuery("$()select * from employee.txt");The symbol $() means accessing a local file system. The two phrases get same result.Call SPL statements that connect to data sourceDatabases are one of the most important data sources of esProc JDBC. Let’s look at how to call a SPL statement that connects to the database.First, put corresponding database driver jars into the application project; then set data source information in raqsoftConfig.xml. Suppose the data source name used in an SPL statement is demo and the database type is HSQL, then you can configure it like this:First, load HSQL database driver jar hsqldb-2.2.8.jar into the application project;Second, set data source information in the node in raqsoftConfig.xml. ">DBList>DB name="demo"> property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/demo" /> property name="driver" value="org.hsqldb.jdbcDriver" /> property name="type" value="13" /> property name="user" value="sa" /> property name="password" /> password--> property name="batchSize" value="1000" /> property name="autoConnect" value="true" /> Automatically connect or not. If the value is true, use a SQL statement starting with $ to access the database; if it is false, there will be no automatic connection; establish the
2025-04-05Express the concept of consecutive rising in SQL, we have to take an indirect way, that is, calculate the number of consecutive rising days through cumulative number of days that the stock does not rise. This method requires strong skill, making it difficult to code and understand. Moreover, it is difficult to debug SQL, resulting in the maintenance difficulty.Another example, find out the top n customers whose cumulative sales account for half of the total sales, and sort them by sales in descending order:(select sum(amount)/2 from sales)order by amount des">with A as(select client,amount,row_number() over (order by amount) ranknumberfrom sales)select client,amountfrom (select client,amount,sum(amount) over (order by ranknumber) acc from A)where acc>(select sum(amount)/2 from sales)order by amount desIt is difficult to handle the customer who is exactly in the critical position in SQL, so we have to adopt an indirect way, that is, first calculate the cumulative sales in ascending order, and then find out the customers whose cumulative sales is not in the second half of calculation result. This method also requires strong skill, and the code is long and difficult to debug.In addition, SQLite doesn’t provide rich date and string functions. For example: SQLite lacks the function of getting the date before or after a specified number of quarters, and the function of getting the date after N workdays, etc., which limit SQLite and make it unsuitable for scenarios with complex computing requirements.Flow processingSQL itself lacks flow processing capability, so the database will resort to stored procedures to achieve a complete business logic. However, since SQLite does not support stored procedures, it cannot directly achieve a complete business logic, and has to resort to main application. To be specific, first convert SQL’s data objects to the data objects in application (such as Java’s resultSet/List), then use the for/ifstatements of main application to process the flow, and finally convert back to SQL’s data objects. As a result, the code is very cumbersome. When the business logic is very complex, it needs to convert between SQL object and main application object many times, which is more troublesome and related SOL code will not be shown here.Use esProc SPL to solve the difficulties of SQLiteTo provide data processing and computing abilities for small- and micro-Java applications, there is a better choice: esProc SPL.esProc SPL is an open-source data processing engine in Java, and simple in framework and easy to integrate. In addition, esProc SPL is able to store data persistently, and has sufficient computing ability. Such characteristics are similar to those of SQLite.Simple framework: there is no need to configure server, nodes and cluster. As long as the SPL jars are imported, SPL can be deployed in Java environment.SPL provides JDBC driver, making it easy to integrate into Java applications. For simple query tasks, the coding complexity is similar to SQL.1000 && like(Client,"*s*"))");">Class.forName("com.esproc.jdbc.InternalDriver");Connection conn =DriverManager.getConnection("jdbc:esproc:local://");Statement statement = conn.createStatement();ResultSet result = statement.executeQuery("=T("D:/Orders.csv").select(Amount>1000 && like(Client,"*s*"))");SPL supports data persistence and can save data to its own data format (bin file). For example, add records in batches:
2025-04-15All community residents.SummarySQL defines the join operation simply as performing Cartesian product on two sets (tables) and then filtering by a specific condition. The definition covers not only the commonly seen equi-joins, but the equi-joins with many-to-many relationship and even non-equi-joins. An experienced programmer knows that most joins in real-world situations are equi-joins. The over-simplified SQL definition does not reflect the features of equi-joins, and thus the language cannot make the most use of those features to facilitate code writing and task implementation. When a query is too complicated (such as when the number of involved tables are many and when there are nested queries), it is hard to write and optimize code with SQL.SPL makes use of those features to distinguish equi-joins and non-equi-joins and to offer separate solutions for equi-joins with three different types of associative relationships. The language has join() function to handle one-to-one relationship (homo-dimension tables) and one-to-many relationship (primary and sub tables) and provides A.switch() function to deal with many-to-one relationship (foreign key table).Besides, SQL’s use of temporary table and nested query makes it hard to write and maintain a SQL query. SPL, however, can compose concise code step by step according to the natural way of thinking.The SPL-driven esProc is the professional data computation engine. It is ordered-set-based and offers a complete set of grouping functions, which combines advantages of both Java and SQL. A join operation will thus become simple and easy with SPL.
2025-04-01Provided corresponding external libraries for common data sources in the industry .SPL abstracts data sources into two forms:** table sequences and cursors**, table sequences will be read into memory at one time for processing; If the data source supports it, SPL can also use cursors to gradually read in data and process it.SPL does not require all external data to be read into memory for calculation. Don't understand esProc as an in-memory computing engine. Of course, it can maintain a certain amount of memory data for use as an in-memory computing engine.SPL does not have the concept of a "(data)base", and any accessible data source is logically equivalent, with only differences in the functionality and performance of the data source itself. esProc is not responsible for the management and security of the data itself, only for computation.II Script and syntaxThe basic logic and concepts of SPL code are similar to most programming languages and are very simple for experienced programmers, but there are still some SPL specific contents that need attention.1. VariableSPL can use regular variable names, but it is more recommended to directly use cells as variable names.The cell names referenced in the expression will automatically transition during editing , but those in the string will not. When using $[...] to represent the string, the cells involved will also transition during editing.SPL variables have genericity and do not need to declare data types, so what is calculated is what it is.Variables can also be used temporarily in SPL expressions.2. FunctionSPL has a large number of syntax for function options to distinguish between slightly different running states of a function. Options can be used in combination, and special attention should be paid to the relevant options when understanding function functionalities.replace (s, s1, s2) Replace substringreplace@1 (s, s1, s2) Replace only the first onereplace@c (s, s1, s2) None case sensitive during matchingreplace@c1( s, s1, s2 ) None case sensitive during matching and only the first one is replacedSPL uses** cascade parameters** to describe complex structured parameters, with parameters at each level separated by colons, commas, and semicolons. This is significantly different from using only commas to separate parameters in regular languages. When understanding function definitions, it is important to pay attention to the cascade parameter hierarchy.if (a, b, c) Regular one layer parameters, commabetween (x, a: b) Two-layer parameters, comma and colonhash (xi,...; n) Two-layer parameters, comma and semicoloncase (x1: y1, x2: y2,...; y) Three-layer parameters3. ObjectSPL has the concept of object, and many functions are encapsulated on objects.SPL does not have important object-oriented mechanisms for inheritance and overloading. Strictly speaking, SPL is not an object-oriented language. In this sense, SPL is simpler than Java or even Python. The main function
2025-04-10