How To... Videos - ECL Tips and Tricks
These videos offer tips and tricks for working with the ECL programming language.
How to... Use Macros
- Use ECL Macros Session 1 - A worked through case
Explanation of ECL (Enterprise Control Language) MACROS using a real-life case study. Compare attributes between two key builds where the number of attributes is so large that using MACROS is the only solution. - Use ECL Macros Session 2 - A worked through case
Constructing a new output layer. - Use ECL Macros Session 3 - A worked through case
Generating an email using ECL to act on the information discovered in the previous session. - Be clear about the context in which the ECL FUNCTIONMACROs run
Demonstrates that ECL FUNCTIONMACROs compile in the context of the caller and not in the context of the ECL in which the FUNCTIONMACRO resides. - ECL #EXPORT and #EXPORTXML
Processing record structures at compile time using MACROS. - Understand the idiosyncrasies of ECL MACROs and #EXPAND
Where #EXPAND can and can't be used in a macro.
How to... Use ECL Built-in Functions
- PROJECT
Converting records in a dataset from one format to another. - HOW ECL PROJECT is different from other built-ins
The ECL PROJECT built-in, unlike others, accepts a single Record as input. - TABLE (Vertical Slice)
Taking an input dataset in one format and generating an output dataset in another format. - TABLE (CrossTab)
Getting statistics on input datasets grouped by fields within the dataset. - Use Aggregates on subsets of data in a cross-tab report
Difference between COUNT operator and other operators in ECL cross-tab TABLE function. - ITERATE
Processes all records in the recordset one pair at a time. - PROCESS (Part 1)
Processes all records in the recordset one pair at a time using datasettransform. - PROCESS (Part 2)
Continuation of Part 1. - GRAPH
Search a dataset with different attributes/dimensions. - NORMALIZE (COUNT Variant)
Simplest NORMALIZE function variant. - NORMALIZE (Child Dataset Extraction)
Extract child datasets from hierarchical dataset. - NORMALIZE (Additional Information)
Additional items such as using child datasets inside child datasets. - DENORMALIZE (Single Record Presentation Variant)
Inverse to NORMALIZE. - DENORMALIZE (GROUP Presentation Variant)
Inverse to NORMALIZE for child datasets. - ECL DICTIONARY (Examples of use)
Fast lookup for very large tables/datasets. - Working with distributed data (TABLE, ROLLUP and AGGREGATE)
How to mine data using HPCC Systems Architecture. - ROLLUP (Part 1)
Deduplicate records and capture information. - ROLLUP (Part 2)
Preserve information between iterations. - DEDUP
Evaluates recordset for duplicate records. - Be wary of using the Compiler hint DISTRIBUTED in ECL
DISTRIBUTED is not the same as DISTRIBUTE command. - Find a Better way to optimise out file re-distributions using DISTRIBUTED
Best way to use DISTRIBUTED safely.
Learn more tips and tricks
- Understand the differences Between Build and definition files in HPCC Systems
To anyone new to HPCC Systems and the ECL language, the way HPCC Systems behaves differently with the two concepts of Actions and Definitions can be very confusing. Learn about the behavior used with both and find out more about why HPCC Systems runs this way. - Explicit return types from functions
Find out how defaulting return types form functions degrades the compilers ability to correctly report errors. - Understand the Distribution of data on HPCC Systems, with an example
Describes the Distribution of Logical files onto multiple nodes of an HPCC Systems environment. Also find out more about the measure of SKEW from an even distribution as defined for HPCC Systems. - Use ECL/HPCC Systems Events, Including Scheduling Events
Demonstration of creating, fielding and firing events in HPCC Systems. Also includes some additional notes on scheduling events (CRON), including reading the output of one workunit in another. - Use ECL Watch Advanced Search
Examines some of the advanced functionality built into the ECL Watch Global Search box. Demonstrates how to use prefixes to filter for file types, and navigate to their corresponding pages and show how to filter for specific dates or date ranges.