Learning ECL

Learn the basics of ECL the powerful programming language built for big data analytics. Then move to advanced ECL topics.

ECL is the Enterprise Control Language designed specifically for huge data projects using the HPCC platform. Its extreme scalability comes from a design that allows you to leverage every query you create for re-use in subsequent queries as needed. To do this, ECL takes a dictionary approach to building queries wherein each ECL definition defines an Attribute. Each previously defined Attribute can then be used in succeeding ECL Attribute definitions as the language extends itself as you use it.

View the PDF View HTML

The Standard Library Reference includes utility functions for string handling, date manipulation and others.

View the PDF View HTML

The ECL Programmers Guide gives an introduction to the ECL language along with example data and use cases. The supporting ECL Code Files referenced in the guide are included below.

View the PDF

Supporting ECL Files
In ZIP format ECL_Code_Files.zip

 

Comrise, a HPCC Systems partner, has also made available a Chinese translated version of the ECL Programmers Guide (version 4.2.0.3rc).

This tutorial provides a walk-through of the development process from beginning to end and is designed to be an introduction to working with data on HPCC, as well as give an introduction to Thor and Roxie. The Sample Data Files are required references for the tutorial.

View the PDF

Sample Data File (one from the below needed)
In ZIP format OriginalPerson.zip
In tar.gz format OriginalPerson.tar.gz
Uncompressed OriginalPerson

This step by step ECL Programming Example details how to solve the challenge of finding the Six degrees of Separation between any actor and Kevin Bacon.

View the PDF

1The information used for this analysis can be found on www.imdb.com.

 

This guide is a collection of tips and techniques that target the best practices of ECL programming.

View the PDF

ECL Playground is a tool hosted on an ESP server. A page runs in your browser, allowing you to access and execute self-contained ECL code on your HPCC system without the use of any other tools. The ECL Playground then shows you the results and the graph in your browser. The view is very similar to what the ECL IDE displays.
Listen to the ECL Playground Podcast and how it can be a helpful tool for developers.

View the PDF

This document covers the Visualizer Bundle--an open-source add-on to the HPCC platform to allow you to create visualizations from the results of queries written in ECL.

Visualizations are an important means of conveying information from massive data. A good visual representation can help a human produce actionable analysis. A visually comprehensive representation of the information can help make the obscure more obvious. Pie Charts, Line graphs, Maps, and other visual graphs help us understand the answers found in data queries. Crunching big data is only part of a solution; we must be able to make sense of the data, too. Data visualizations simplify the complex.

The Visualizer bundle extends the HPCC platform's functionality by allowing you to plot your data onto charts, graphs, and maps to add a visual representation that can be easily understood. In addition, the underlying visualization framework supports advanced features to allow you to combine graphs to make interactive dashboards.

View the PDF

The ECL Scheduler is a component process installed with the HPCC system platform. ECL Scheduling provides a means of automating processes within ECL code or to chain processes together to work in sequence.

View the PDF

These steps explain how to move data on or off an HPCC Cluster.

View the PDF

This manual covers Dynamic ESDL (Enterprise Service Description Language) --a methodology that helps you develop and manage web-based query interfaces quickly and consistently.

Dynamic ESDL takes an interface-first development approach. It leverages the ESDL Language to create a common interface “contract” that both ROXIE Query and Web interface developers will adhere to. It is intended to allow developers to create production web services, with clean interfaces that can evolve and grow over time without breaking existing applications.

View the PDF
The HPCC Systems Community Wiki includes information provided by the community covering best practices, tips, sample code and examples. The HPCC Systems Red Book also contains useful information to help users manage the transition between releases.

View HTML