Learning ECL

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.

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

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.

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

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.

Sample Data File (one 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.

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

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.

The ECL compiler now supports adding external resources to a Workunit using a manifest file. The manifest, in XML format, adds external resources such as XSLT transformations, or other objects to the archive before it is compiled and deployed to the server. This document demonstrates how to use this feature to visualize ECL job results using Google Chart Tools.

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.

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

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.

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.

Contact Us

email us   Email us
Toll-free   US: 1.877.316.9669
International   Intl: 1.678.694.2200

Sign up to get updates through
our social media channels:

facebook  twitter  LinkedIn  Google+  Meetup  rss  Mailing Lists