Skip to main content

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

ECL Language Reference

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

Standard Library Reference

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

View the PDF View HTML

ECL Programmer's Guide

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

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

HPCC Systems Data Tutorial: with an Introduction to Thor and ROXIE

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
In tar.gz format OriginalPerson.tar.gz
Uncompressed OriginalPerson

Six Degrees of Kevin Bacon ECL Example

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

The information used for this analysis can be found on

ECL Best Practices

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

View the PDF

ECL Playground

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

Visualizing ECL Results

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

ECL Scheduler

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

View the PDF

Data Handling

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

View the PDF

Dynamic ESDL

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

ESDL Language Reference

The ESDL Language Reference covers the ESDL (Enterprise Service Description Language) and its syntax. ESDL is a methodology that helps you develop and manage web-based query interfaces quickly and consistently. This goes hand-in-hand with Dynamic ESDL.

View the PDF

Red Book and Community Wiki

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.