SlideShare a Scribd company logo
HPCC Systems - ECL Intro 
Big Data Querying Made EZ 
By Fujio Turner 
Enterprise Control Language 
explained for Programmers 
@FujioTurner
Comparison 
Block Based File Based 
JAVA C++ 
Petabytes 
1-80,000 Jobs/day 
Since 2005 
Exabytes 
Non-Indexed 4X-13X 
Indexed: 2K-3K Jobs/sec 
Since 2000 
? ? ? ? ? ? 
Thor Roxie
What Is ECL? 
ECL (Enterprise Control Language) is a C++ based query 
language for use with HPCC Systems Big Data platform. 
ECLs syntax and format is very simple and easy to learn.! 
! 
Note - ECL is very similar to Hadoop’s pig ,but! 
more expressive and feature rich.
Comparing ECL to General Programming 
In this presentation you will see how in ECL loading and 
querying data is just like reading and finding data in a 
plain text file.! 
general programming (general common logic)! 
vs.! 
ECL 
General Code HERE ECL Code HERE 
General ECL
Example Text File 
Name State Age 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
Customer Data May 2010 
~/cdata_2010.txt! 
example file name 
= ~/hpcc::cdata_2010.txt 
ECL example file distributed in HPCC cluster
Opening File: general programming vs ECL 
d = fopen(‘~/cdata_2010.txt’) 
File Location 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
General ECL
Opening File: general programming vs ECL 
d = fopen(‘~/cdata_2010.txt’) 
File Location 
Open File Function 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
General ECL
Organizing: general programming vs ECL 
d = fopen(‘~/cdata_2010.txt’) 
new_d = split( d ,“rn”) 
Split Data(d) by Row 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
General ECL
Organizing: general programming vs ECL 
d = fopen(‘~/cdata_2010.txt’) 
new_d = split( d ,“rn”) 
cs := RECORD! 
! STRING20 Name;! 
! STRING2 State;! 
! INT3 Age;! 
END 
Split Data(d) by Row 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
Use This Schema on this file! 
to Give Structure to Data 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
General ECL
Find “Sara”: general programming vs ECL 
cs := RECORD! 
! STRING20 Name;! 
! STRING2 State;! 
! INT3 Age;! 
END 
d = fopen(‘~/cdata_2010.txt’) 
new_d = split( d ,“rn”) 
Split Data by Column 
for(x = 0; x< 3; x++){! 
! row = new_d[x]! 
! new_row = split(row,“ ”)! 
! if(new_row[0] == ‘Sara’){! 
! ! print ”Found Sara”! 
! }! 
} 
0 1 2 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
General ECL
Find “Sara”: general programming vs ECL 
cs := RECORD! 
! STRING20 Name;! 
! STRING2 State;! 
! INT3 Age;! 
END 
d = fopen(‘~/cdata_2010.txt’) 
new_d = split( d ,“rn”) 
Split Data by Column 
for(x = 0; x< 3; x++){! 
! row = new_d[x]! 
! new_row = split(row,“ ”)! 
! if(new_row[0] == ‘Sara’){! 
! ! print ”Found Sara”! 
! }! 
} 
0 1 2 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
Filter Data By 
General ECL
Find “Sara”: general programming vs ECL 
cs := RECORD! 
! STRING20 Name;! 
! STRING2 State;! 
! INT3 Age;! 
END 
d = fopen(‘~/cdata_2010.txt’) 
new_d = split( d ,“rn”) 
Split Data by Column 
for(x = 0; x< 3; x++){! 
! row = new_d[x]! 
! new_row = split(row,“ ”)! 
! if(new_row[0] == ‘Sara’){! 
! ! print ”Found Sara”! 
! }! 
} 
0 1 2 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
Filter Data By 
Output 
General ECL
Find “Sara”: general programming vs ECL 
cs := RECORD! 
! STRING20 Name;! 
! STRING2 State;! 
! INT3 Age;! 
END 
d = fopen(‘~/cdata_2010.txt’) 
new_d = split( d ,“rn”) 
Split Data by Column 
for(x = 0; x< 3; x++){! 
! row = new_d[x]! 
! new_row = split(row,“ ”)! 
! if(new_row[0] == ‘Sara’){! 
! ! print ”Found Sara”! 
! }! 
} 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
sara := d(Name = ‘Sara’); 
0 1 2 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
Filter Data By 
Output 
General ECL
Find “Sara”: general programming vs ECL 
cs := RECORD! 
! STRING20 Name;! 
! STRING2 State;! 
! INT3 Age;! 
END 
d = fopen(‘~/cdata_2010.txt’) 
new_d = split( d ,“rn”) 
Split Data by Column 
for(x = 0; x< 3; x++){! 
! row = new_d[x]! 
! new_row = split(row,“ ”)! 
! if(new_row[0] == ‘Sara’){! 
! ! print ”Found Sara”! 
! }! 
} 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
sara := d(Name = ’Sara’); 
OUTPUT(sara); 
0 1 2 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
Filter Data By 
Output 
General ECL
Find “Sara” & Older then 50: general programming vs ECL 
cs := RECORD! 
! STRING20 Name;! 
! STRING2 State;! 
! INT3 Age;! 
END 
d = fopen(‘~/cdata_2010.txt’) 
new_d = split( d ,“rn”) 
for(x = 0; x< 3; x++){! 
! row = new_d[x]! 
! new_row = row.split(“ ”)! 
! if(new row[0] == ‘Sara’ and row[2] >50){! 
! ! print ”Found Sara”! 
! }! 
} 
d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); 
sara := d(Name = ‘Sara’ AND Age > 50); 
OUTPUT(sara); 
0 1 2 
Kevin CA 45 
Mark MI 27 
Sara FL 64 
General ECL
ECL is EZ 
•Make your own functions & libraries in ECL.! 
•Modularize your code with “Import”: reuse old code 
Machine Learning Built-in 
http://hpccsystems.com/ml
ECL Plugin for Eclipse IDE 
http://hpccsystems.com/products-and-services/products/plugins/eclipse-ide
ECL + Others Languages 
ECL is C++ based so all your C/C++ code can be used in ECL.! 
&! 
Use other languages and methods like below to query too.
ECL GUIDE 
http://hpccsystems.com/download/docs/ecl-language-reference 
JOIN! 
MERGE! 
LENGTH! 
REGEX! 
ROUND! 
SUM! 
COUNT! 
TRIM! 
WHEN! 
AVE! 
ABS! 
CASE! 
DEDUP! 
NORMALIZE! 
DENORMALIZE! 
IF! 
SORT! 
GROUP! 
more ….
For More HPCC “How To’s” Go to 
Query with 
Plain SQL 
http://www.slideshare.net/hpccsystems/jdbc-hpcc 
or SQL TO ECL 
http://www.slideshare.net/FujioTurner/meet-up-sqldemopp
Watch how to install 
HPCC Systems 
in 5 Minutes 
Download HPCC Systems 
Open Source 
Community Edition 
http://hpccsystems.com/download/ 
http://www.youtube.com/watch?v=8SV43DCUqJg 
or 
Source Code 
https://github.com/hpcc-systems
HPCC Systems - ECL for Programmers - Big Data - Data Scientist

More Related Content

What's hot (20)

PDF
Cassandra introduction apache con 2014 budapest
Duyhai Doan
 
PPTX
ComputeFest 2012: Intro To R for Physical Sciences
alexstorer
 
PPTX
10 context switching
JihoonKim157
 
PPTX
Commit2015 kharchenko - python generators - ext
Maxym Kharchenko
 
PDF
Web Application Security 101 - 05 Enumeration
Websecurify
 
PDF
MongoDB Advanced Topics
César Rodas
 
PDF
Oracle Essbase for Oracle Cloud Infrastructure Marketplace のご紹介[2021年2月版]
オラクルエンジニア通信
 
PDF
PyCon Russian 2015 - Dive into full text search with python.
Andrii Soldatenko
 
PDF
Odessapy2013 - Graph databases and Python
Max Klymyshyn
 
PDF
Shell Script to Extract IP Address, MAC Address Information
VCP Muthukrishna
 
PDF
Unix Basics Commands
Sameeran Jenna
 
PDF
Unified Data Platform, by Pauline Yeung of Cisco Systems
Altinity Ltd
 
PDF
Extending Spark SQL API with Easier to Use Array Types Operations with Marek ...
Databricks
 
PDF
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
Altinity Ltd
 
PDF
What is the best full text search engine for Python?
Andrii Soldatenko
 
PDF
Data Exploration with Apache Drill: Day 2
Charles Givre
 
PDF
Bash Script Disk Space Utilization Report and EMail
VCP Muthukrishna
 
PDF
Workshop on command line tools - day 1
Leandro Lima
 
PDF
File Space Usage Information and EMail Report - Shell Script
VCP Muthukrishna
 
PDF
Installing Apache Hive, internal and external table, import-export
Rupak Roy
 
Cassandra introduction apache con 2014 budapest
Duyhai Doan
 
ComputeFest 2012: Intro To R for Physical Sciences
alexstorer
 
10 context switching
JihoonKim157
 
Commit2015 kharchenko - python generators - ext
Maxym Kharchenko
 
Web Application Security 101 - 05 Enumeration
Websecurify
 
MongoDB Advanced Topics
César Rodas
 
Oracle Essbase for Oracle Cloud Infrastructure Marketplace のご紹介[2021年2月版]
オラクルエンジニア通信
 
PyCon Russian 2015 - Dive into full text search with python.
Andrii Soldatenko
 
Odessapy2013 - Graph databases and Python
Max Klymyshyn
 
Shell Script to Extract IP Address, MAC Address Information
VCP Muthukrishna
 
Unix Basics Commands
Sameeran Jenna
 
Unified Data Platform, by Pauline Yeung of Cisco Systems
Altinity Ltd
 
Extending Spark SQL API with Easier to Use Array Types Operations with Marek ...
Databricks
 
A Practical Introduction to Handling Log Data in ClickHouse, by Robert Hodges...
Altinity Ltd
 
What is the best full text search engine for Python?
Andrii Soldatenko
 
Data Exploration with Apache Drill: Day 2
Charles Givre
 
Bash Script Disk Space Utilization Report and EMail
VCP Muthukrishna
 
Workshop on command line tools - day 1
Leandro Lima
 
File Space Usage Information and EMail Report - Shell Script
VCP Muthukrishna
 
Installing Apache Hive, internal and external table, import-export
Rupak Roy
 

Similar to HPCC Systems - ECL for Programmers - Big Data - Data Scientist (20)

PDF
Big Data - Load CSV File & Query the EZ way - HPCC Systems
Fujio Turner
 
DOCX
filehandeling.docx
PrabinDhungana5
 
PDF
Big Data - Load, Index & Query the EZ way - HPCC Systems
Fujio Turner
 
PPTX
ACS DataMart_ppt
Jeremy Searls
 
PPTX
ACS DataMart_ppt
Jeremy Searls
 
DOCX
sample practical file 2022-23 aniket choudhary.docx
omkumar654197
 
PDF
Complete practical file of class xii cs 2021-22
manyaarora19
 
ODT
Bangladesh university of business and technology
MdmahabuburRahmanLiz
 
PPTX
COBOL and Computer Science
aturley_slides
 
DOCX
Computer science project work
rahulchamp2345
 
PPT
Data structure and algorithms unit 1 pdf SRM
sshreeyaas
 
PDF
12th-computer-science-practical-study-material-english-medium.pdf
rajputaman7777777
 
PDF
12th-computer-science-practical-study-material-english-medium.pdf
ansh552818
 
PDF
Four Languages From Forty Years Ago
Scott Wlaschin
 
DOCX
Write a task that will perform some of the functions performed by a s.docx
ajoy21
 
PPT
DS41_DS305_M03_DataAccess_SEQ DS41_DS305_M03_DataAccess_SEQ.ppt
ssuser3e8ddb
 
DOCX
COMPUTER SCIENCE CLASS 12 PRACTICAL FILE
Anushka Rai
 
PPT
Computer notes - Binary Search
ecomputernotes
 
PPTX
File handling 2016
TONY THOMAS
 
PDF
Making Sense of Medicare Data: From Mining to Analytics
HPCC Systems
 
Big Data - Load CSV File & Query the EZ way - HPCC Systems
Fujio Turner
 
filehandeling.docx
PrabinDhungana5
 
Big Data - Load, Index & Query the EZ way - HPCC Systems
Fujio Turner
 
ACS DataMart_ppt
Jeremy Searls
 
ACS DataMart_ppt
Jeremy Searls
 
sample practical file 2022-23 aniket choudhary.docx
omkumar654197
 
Complete practical file of class xii cs 2021-22
manyaarora19
 
Bangladesh university of business and technology
MdmahabuburRahmanLiz
 
COBOL and Computer Science
aturley_slides
 
Computer science project work
rahulchamp2345
 
Data structure and algorithms unit 1 pdf SRM
sshreeyaas
 
12th-computer-science-practical-study-material-english-medium.pdf
rajputaman7777777
 
12th-computer-science-practical-study-material-english-medium.pdf
ansh552818
 
Four Languages From Forty Years Ago
Scott Wlaschin
 
Write a task that will perform some of the functions performed by a s.docx
ajoy21
 
DS41_DS305_M03_DataAccess_SEQ DS41_DS305_M03_DataAccess_SEQ.ppt
ssuser3e8ddb
 
COMPUTER SCIENCE CLASS 12 PRACTICAL FILE
Anushka Rai
 
Computer notes - Binary Search
ecomputernotes
 
File handling 2016
TONY THOMAS
 
Making Sense of Medicare Data: From Mining to Analytics
HPCC Systems
 
Ad

More from Fujio Turner (6)

PDF
Big Data - Fast Machine Learning at Scale + Couchbase
Fujio Turner
 
PDF
NoSQL Couchbase Lite & BigData HPCC Systems
Fujio Turner
 
PDF
HPCC Systems vs Hadoop
Fujio Turner
 
PDF
Big Data for Small Businesses & Startups
Fujio Turner
 
PDF
Big Data - In-Memory Index / Sub Second Query engine - Roxie - HPCC Systems
Fujio Turner
 
PDF
3djson - Using Real World Data
Fujio Turner
 
Big Data - Fast Machine Learning at Scale + Couchbase
Fujio Turner
 
NoSQL Couchbase Lite & BigData HPCC Systems
Fujio Turner
 
HPCC Systems vs Hadoop
Fujio Turner
 
Big Data for Small Businesses & Startups
Fujio Turner
 
Big Data - In-Memory Index / Sub Second Query engine - Roxie - HPCC Systems
Fujio Turner
 
3djson - Using Real World Data
Fujio Turner
 
Ad

Recently uploaded (20)

PDF
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
PPTX
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
PDF
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
PDF
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
PPTX
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
PDF
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
PDF
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
DOCX
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
PPTX
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PDF
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
PDF
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
PDF
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
PPTX
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 
Mastering Financial Management in Direct Selling
Epixel MLM Software
 
Seamless Tech Experiences Showcasing Cross-Platform App Design.pptx
presentifyai
 
Peak of Data & AI Encore AI-Enhanced Workflows for the Real World
Safe Software
 
“Computer Vision at Sea: Automated Fish Tracking for Sustainable Fishing,” a ...
Edge AI and Vision Alliance
 
AI Penetration Testing Essentials: A Cybersecurity Guide for 2025
defencerabbit Team
 
NLJUG Speaker academy 2025 - first session
Bert Jan Schrijver
 
What’s my job again? Slides from Mark Simos talk at 2025 Tampa BSides
Mark Simos
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
How do you fast track Agentic automation use cases discovery?
DianaGray10
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Python coding for beginners !! Start now!#
Rajni Bhardwaj Grover
 
COMPARISON OF RASTER ANALYSIS TOOLS OF QGIS AND ARCGIS
Sharanya Sarkar
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
AI Agents in the Cloud: The Rise of Agentic Cloud Architecture
Lilly Gracia
 
Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
“Squinting Vision Pipelines: Detecting and Correcting Errors in Vision Models...
Edge AI and Vision Alliance
 
CIFDAQ Market Wrap for the week of 4th July 2025
CIFDAQ
 
Agentforce World Tour Toronto '25 - Supercharge MuleSoft Development with Mod...
Alexandra N. Martinez
 

HPCC Systems - ECL for Programmers - Big Data - Data Scientist

  • 1. HPCC Systems - ECL Intro Big Data Querying Made EZ By Fujio Turner Enterprise Control Language explained for Programmers @FujioTurner
  • 2. Comparison Block Based File Based JAVA C++ Petabytes 1-80,000 Jobs/day Since 2005 Exabytes Non-Indexed 4X-13X Indexed: 2K-3K Jobs/sec Since 2000 ? ? ? ? ? ? Thor Roxie
  • 3. What Is ECL? ECL (Enterprise Control Language) is a C++ based query language for use with HPCC Systems Big Data platform. ECLs syntax and format is very simple and easy to learn.! ! Note - ECL is very similar to Hadoop’s pig ,but! more expressive and feature rich.
  • 4. Comparing ECL to General Programming In this presentation you will see how in ECL loading and querying data is just like reading and finding data in a plain text file.! general programming (general common logic)! vs.! ECL General Code HERE ECL Code HERE General ECL
  • 5. Example Text File Name State Age Kevin CA 45 Mark MI 27 Sara FL 64 Customer Data May 2010 ~/cdata_2010.txt! example file name = ~/hpcc::cdata_2010.txt ECL example file distributed in HPCC cluster
  • 6. Opening File: general programming vs ECL d = fopen(‘~/cdata_2010.txt’) File Location d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); General ECL
  • 7. Opening File: general programming vs ECL d = fopen(‘~/cdata_2010.txt’) File Location Open File Function d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); General ECL
  • 8. Organizing: general programming vs ECL d = fopen(‘~/cdata_2010.txt’) new_d = split( d ,“rn”) Split Data(d) by Row Kevin CA 45 Mark MI 27 Sara FL 64 d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); General ECL
  • 9. Organizing: general programming vs ECL d = fopen(‘~/cdata_2010.txt’) new_d = split( d ,“rn”) cs := RECORD! ! STRING20 Name;! ! STRING2 State;! ! INT3 Age;! END Split Data(d) by Row d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); Use This Schema on this file! to Give Structure to Data Kevin CA 45 Mark MI 27 Sara FL 64 General ECL
  • 10. Find “Sara”: general programming vs ECL cs := RECORD! ! STRING20 Name;! ! STRING2 State;! ! INT3 Age;! END d = fopen(‘~/cdata_2010.txt’) new_d = split( d ,“rn”) Split Data by Column for(x = 0; x< 3; x++){! ! row = new_d[x]! ! new_row = split(row,“ ”)! ! if(new_row[0] == ‘Sara’){! ! ! print ”Found Sara”! ! }! } 0 1 2 Kevin CA 45 Mark MI 27 Sara FL 64 d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); General ECL
  • 11. Find “Sara”: general programming vs ECL cs := RECORD! ! STRING20 Name;! ! STRING2 State;! ! INT3 Age;! END d = fopen(‘~/cdata_2010.txt’) new_d = split( d ,“rn”) Split Data by Column for(x = 0; x< 3; x++){! ! row = new_d[x]! ! new_row = split(row,“ ”)! ! if(new_row[0] == ‘Sara’){! ! ! print ”Found Sara”! ! }! } 0 1 2 Kevin CA 45 Mark MI 27 Sara FL 64 d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); Filter Data By General ECL
  • 12. Find “Sara”: general programming vs ECL cs := RECORD! ! STRING20 Name;! ! STRING2 State;! ! INT3 Age;! END d = fopen(‘~/cdata_2010.txt’) new_d = split( d ,“rn”) Split Data by Column for(x = 0; x< 3; x++){! ! row = new_d[x]! ! new_row = split(row,“ ”)! ! if(new_row[0] == ‘Sara’){! ! ! print ”Found Sara”! ! }! } 0 1 2 Kevin CA 45 Mark MI 27 Sara FL 64 d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); Filter Data By Output General ECL
  • 13. Find “Sara”: general programming vs ECL cs := RECORD! ! STRING20 Name;! ! STRING2 State;! ! INT3 Age;! END d = fopen(‘~/cdata_2010.txt’) new_d = split( d ,“rn”) Split Data by Column for(x = 0; x< 3; x++){! ! row = new_d[x]! ! new_row = split(row,“ ”)! ! if(new_row[0] == ‘Sara’){! ! ! print ”Found Sara”! ! }! } d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); sara := d(Name = ‘Sara’); 0 1 2 Kevin CA 45 Mark MI 27 Sara FL 64 Filter Data By Output General ECL
  • 14. Find “Sara”: general programming vs ECL cs := RECORD! ! STRING20 Name;! ! STRING2 State;! ! INT3 Age;! END d = fopen(‘~/cdata_2010.txt’) new_d = split( d ,“rn”) Split Data by Column for(x = 0; x< 3; x++){! ! row = new_d[x]! ! new_row = split(row,“ ”)! ! if(new_row[0] == ‘Sara’){! ! ! print ”Found Sara”! ! }! } d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); sara := d(Name = ’Sara’); OUTPUT(sara); 0 1 2 Kevin CA 45 Mark MI 27 Sara FL 64 Filter Data By Output General ECL
  • 15. Find “Sara” & Older then 50: general programming vs ECL cs := RECORD! ! STRING20 Name;! ! STRING2 State;! ! INT3 Age;! END d = fopen(‘~/cdata_2010.txt’) new_d = split( d ,“rn”) for(x = 0; x< 3; x++){! ! row = new_d[x]! ! new_row = row.split(“ ”)! ! if(new row[0] == ‘Sara’ and row[2] >50){! ! ! print ”Found Sara”! ! }! } d := DATASET(‘~hpcc::cdata_2010’,cs,THOR); sara := d(Name = ‘Sara’ AND Age > 50); OUTPUT(sara); 0 1 2 Kevin CA 45 Mark MI 27 Sara FL 64 General ECL
  • 16. ECL is EZ •Make your own functions & libraries in ECL.! •Modularize your code with “Import”: reuse old code Machine Learning Built-in http://hpccsystems.com/ml
  • 17. ECL Plugin for Eclipse IDE http://hpccsystems.com/products-and-services/products/plugins/eclipse-ide
  • 18. ECL + Others Languages ECL is C++ based so all your C/C++ code can be used in ECL.! &! Use other languages and methods like below to query too.
  • 19. ECL GUIDE http://hpccsystems.com/download/docs/ecl-language-reference JOIN! MERGE! LENGTH! REGEX! ROUND! SUM! COUNT! TRIM! WHEN! AVE! ABS! CASE! DEDUP! NORMALIZE! DENORMALIZE! IF! SORT! GROUP! more ….
  • 20. For More HPCC “How To’s” Go to Query with Plain SQL http://www.slideshare.net/hpccsystems/jdbc-hpcc or SQL TO ECL http://www.slideshare.net/FujioTurner/meet-up-sqldemopp
  • 21. Watch how to install HPCC Systems in 5 Minutes Download HPCC Systems Open Source Community Edition http://hpccsystems.com/download/ http://www.youtube.com/watch?v=8SV43DCUqJg or Source Code https://github.com/hpcc-systems