Skip to main content

HPCC Systems blog contributors are engineers, data scientists, and fellow community members who want to share knowledge, tips, and other helpful information happening in the HPCC Systems community. Check this blog regularly for insights into how HPCC Systems technology can put big data analytics to work for your own needs.

David Bayliss on 03/14/2014

The other evening I was distracted from a lengthy debug session by a commotion coming from the chicken coop. I raced out the door fearful that some local predator had decided to attempt to steal some dinner. I discovered no such thing; rather ‘the girls’ were all agitating to get out of the coop. In my concentration I had forgotten that it was past the time they are normally allowed out for their daily forage.

Richard Taylor on 03/13/2014

I get fairly frequent emails asking, "How can I ... (do something) in ECL?" I've saved the example code from many of these questions, so now I'll begin sharing them through this blog.

If anybody has this type of question they'd like me to answer (in the blog), please just send me an email to and I will do my best to come up with an ECL example demonstrating the solution.

David Bayliss on 02/26/2014

Well over a decade ago, I had the privilege of being one of the first programmers to use ECL. A new language at a new level of abstraction allowed us to think about data absent of process. We were no longer working in the realm of time and method, but in the realm of data. We wanted a name for this place that our minds could now wander; so we called it ‘Dataland’.

Gavin Halliday on 01/03/2014

The most common way of filtering out records is to apply a filter to a dataset. E.g.,

Centenarians := myDataset(age >= 100)

However, sometimes the easiest place to decide whether or not a record is required is within the transform that creates it. ECL has the SKIP keyword to indicate that a record shouldn’t be generated from a transform1. SKIP has two different syntaxes:

1. SKIP as an attribute on a transform

Flavio Villanustre on 12/19/2013

With the holidays almost upon us and while we start to wind down to spend some quality time with our families, I thought that it would be a good opportunity to recount some of the things that we have done during 2013.

Gavin Halliday on 11/18/2013

Often an ECL query will consist of a series of results or actions which should all be executed together. Historically there have been two ways of grouping actions together.

P := PARALLEL(a1, a2, a3, a4);

PARALLEL indicates that all of the actions can be executed in parallel. If any intermediate values are common to more than one of the actions, then the values should only be evaluated once, and the result reused by each action.

Gavin Halliday on 10/10/2013

This blog is going to be a bit of an eclectic mix. It will cover the background behind some of the features being added to the platform, what to watch out for when using ECL, and maybe a bit more detail about what goes on under the covers.

The first topic I want to look at is the way fields are optimized, and the motivation behind a new optimization in 4.2….

Flavio Villanustre on 09/20/2013

Last week, close to 300 people met in Delray Beach, Florida, to follow an intensive and densely packed agenda full of technology content on the HPCC Systems platform. It was our third annual HPCC Summit event and doubled its attendance from the previous year.

Flavio Villanustre on 07/31/2013

After almost two years of continuous development, version 4.0 of the HPCC Systems platform has finally been released, with an impressive number of exciting new features and capabilities!

Jo Prichard on 02/19/2013

So you are energized about HPCC Systems and ready to take the leap and "Jump In!" There are three things you will need to do.