No Description

Rodrigo Pastrana ee3781b2b8 HPCC-19872 ESP support multi-level esdl structure extensions 7 years ago
.github 90b33faa94 HPCC-18020 Add new option to pull request template 8 years ago
build_utils c63b80c278 HPCC-13448 Source Code needs Marca Registrada next to HPCC Systems® 10 years ago
charm 37d0fb7f7d HPCC-11289 Add README file for HPCC Juju Charm Development 10 years ago
clienttools 3a56cf9118 HPCC-18718 Back-compatiibility issues with python2 plugin 7 years ago
cmake_modules b9b917ee40 HPCC-20024 Build fails on Ubuntu 18.04 with default CMake settings 7 years ago
common 139b246657 Merge pull request #11304 from richardkchapman/remote-blobs 7 years ago
configuration 77d6e3107b HPCC-19969 Expand environment attribute type information 7 years ago
dali ce5caa37d5 Merge pull request #11385 from RussWhitehead/queryInst 7 years ago
deploy 1b5f9692cb HPCC-19467 Fix problems with windows stand alone compiling 7 years ago
deployment 51fb37e139 Merge pull request #10580 from wangkx/h18517 7 years ago
docs 4acbdcb261 Merge pull request #11284 from JamesDeFabia/HPCC-18345UincodeImplementations 7 years ago
ecl 098201b886 Merge pull request #11404 from shamser/issue20079 7 years ago
ecllibrary c4076188de HPCC-19881 Minor change to javadoc comments to match parameter names 7 years ago
esp ee3781b2b8 HPCC-19872 ESP support multi-level esdl structure extensions 7 years ago
githooks 4ba38f7d01 Merge remote-tracking branch 'origin/candidate-3.10.x' 12 years ago
initfiles b6fef3562d Merge pull request #11349 from Michael-Gardner/HPCC-19804-2 7 years ago
lib2 4d49720da6 HPCC-15414 clean lib2 for lib name changes on Mac OS 8 years ago
misc 66e814cdf0 HPCC-9508 Add eclipse code layout settings file to project 12 years ago
package dd10b3c3be HPCC-16491 Work-around CMake productbuild packaging issue 8 years ago
plugins e3b2f6265a HPCC-20012 Libuv/cassandra CMake changes for shlibdeps 7 years ago
roxie 664d94e68a Merge pull request #11381 from jakesmith/hpcc-20034 7 years ago
rtl 139b246657 Merge pull request #11304 from richardkchapman/remote-blobs 7 years ago
services f9e38f2f46 HPCC-18585 Replace uses of rand() with fastRand() 7 years ago
system 8f1d0dbb45 Merge pull request #11399 from jakesmith/hpcc-19973 7 years ago
testing 139b246657 Merge pull request #11304 from richardkchapman/remote-blobs 7 years ago
thorlcr 139b246657 Merge pull request #11304 from richardkchapman/remote-blobs 7 years ago
tools a7bb15597b HPCC-19999 Record translator should support de-blobbing BLOB fields 7 years ago
.gitattributes 2241da2000 HPCC-17425 Various fixes for running HPCC in windows linux subsystem 8 years ago
.gitignore 0550ad53ae HPCC-17851 New config manager core library 7 years ago
.gitmodules 800b472e3d HPCC-18512 Update ECL Watch stats to use WebPack 7 years ago
.travis.yml 9aba0126bc HPCC-18512 Switch to WebPack for ECL Watch build 7 years ago
BUILD_ME.md 3bc3658b09 HPCC-19312 Update to latest cassandra driver 7 years ago
CMakeLists.txt 827439f26b HPCC-19149 Fix windows build problems 7 years ago
CNAME 996619b9ea Add CNAME entry for GitHub pages redirection 14 years ago
CONTRIBUTORS c04b2a38e0 HPCC-16014 Contributors file needs some refreshing 8 years ago
FUTURE b39eb133f9 Initial version of FUTURE document 13 years ago
LICENSE.txt c63b80c278 HPCC-13448 Source Code needs Marca Registrada next to HPCC Systems® 10 years ago
R-LICENSE.txt 41fdcf477c HPCC-14457 Split R plugin to its own package 9 years ago
README.md c0253694b9 Merge branch 'candidate-6.4.0' 8 years ago
VERSIONS 04760b84cc Preparation for 6.0.0-beta1 release 9 years ago
baseaddr.txt c63b80c278 HPCC-13448 Source Code needs Marca Registrada next to HPCC Systems® 10 years ago
build-config.h.cmake 08fd95330b HPCC-9902 Use the build version as the ecl version reported by eclcc 11 years ago
cmake_uninstall.cmake.in 2ae8bdcd44 HPCC-15142 Minimal changes needed for DESTDIR 9 years ago
package-lock.json 4a7ea76b58 HPCC-19093 Update to latest hpcc-js 7 years ago
sourcedoc.xml c63b80c278 HPCC-13448 Source Code needs Marca Registrada next to HPCC Systems® 10 years ago
version.cmake a2abf03dfa Merge branch 'candidate-6.4.22' 7 years ago

README.md

Description / Rationale

HPCC Systems offers an enterprise ready, open source supercomputing platform to solve big data problems. As compared to Hadoop, the platform offers analysis of big data using less code and less nodes for greater efficiencies and offers a single programming language, a single platform and a single architecture for efficient processing. HPCC Systems is a technology division of LexisNexis Risk Solutions.

Getting Started

Architecture

The HPCC Systems architecture incorporates the Thor and Roxie clusters as well as common middleware components, an external communications layer, client interfaces which provide both end-user services and system management tools, and auxiliary components to support monitoring and to facilitate loading and storing of filesystem data from external sources. An HPCC environment can include only Thor clusters, or both Thor and Roxie clusters. Each of these cluster types is described in more detail in the following sections below the architecture diagram.

Thor

Thor (the Data Refinery Cluster) is responsible for consuming vast amounts of data, transforming, linking and indexing that data. It functions as a distributed file system with parallel processing power spread across the nodes. A cluster can scale from a single node to thousands of nodes.

  • Single-threaded
  • Distributed parallel processing
  • Distributed file system
  • Powerful parallel processing programming language (ECL)
  • Optimized for Extraction, Transformation, Loading, Sorting, Indexing and Linking
  • Scales from 1-1000s of nodes

Roxie

Roxie (the Query Cluster) provides separate high-performance online query processing and data warehouse capabilities. Roxie (Rapid Online XML Inquiry Engine) is the data delivery engine used in HPCC to serve data quickly and can support many thousands of requests per node per second.

  • Multi-threaded
  • Distributed parallel processing
  • Distributed file system
  • Powerful parallel processing programming language (ECL)
  • Optimized for concurrent query processing
  • Scales from 1-1000s of nodes

ECL

ECL (Enterprise Control Language) is the powerful programming language that is ideally suited for the manipulation of Big Data.

  • Transparent and implicitly parallel programming language
  • Non-procedural and dataflow oriented
  • Modular, reusable, extensible syntax
  • Combines data representation and algorithm implementation
  • Easily extend using C++ libraries
  • ECL is compiled into optimized C++

ECL IDE

ECL IDE is a modern IDE used to code, debug and monitor ECL programs.

  • Access to shared source code repositories
  • Complete development, debugging and testing environment for developing ECL dataflow programs
  • Access to the ECLWatch tool is built-in, allowing developers to watch job graphs as they are executing
  • Access to current and historical job workunits

ESP

ESP (Enterprise Services Platform) provides an easy to use interface to access ECL queries using XML, HTTP, SOAP and REST.

  • Standards-based interface to access ECL functions

Developer documentation

The following links describe the structure of the system and detail some of the key components: