No Description

Gavin Halliday 2539e680f6 Merge pull request #13662 from richardkchapman/fursty 5 years ago
.github 598defe8a0 HPCC-23358 Publish each gold/rc release images to Docker Hub 5 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 250097ffbc HPCC-20550 remove target ESDL service name in ESDL. 6 years ago
cmake_modules 42ffb763a1 Merge branch 'candidate-7.8.x' 5 years ago
common 9921561483 Merge branch 'candidate-7.6.x' into candidate-7.8.x 5 years ago
configuration 28b0f1504c centos 6 workaround for 7.6.0 5 years ago
dali 9921561483 Merge branch 'candidate-7.6.x' into candidate-7.8.x 5 years ago
deploy 1b5f9692cb HPCC-19467 Fix problems with windows stand alone compiling 7 years ago
deployment 2195b16127 HPCC-23582 fix envgen2 usage typo 5 years ago
devdoc 88e1bd2280 HPCC-20089 Rationalize and consolidate the developer documentation 7 years ago
devel cdbf9bb329 HPCC-23036 DistributePKI and safe_pki 5 years ago
dockerfiles 83a65e08d8 Merge pull request #13662 from richardkchapman/fursty 5 years ago
docs 56598b9324 HPCC-23838 Clarify precision for DECIMALn_y in LR 5 years ago
ecl 401c6d48ed Merge branch 'candidate-7.8.x' 5 years ago
ecllibrary 293b6e8c1b HPCC-23730 Bump std.DataPatterns to v1.6.3 5 years ago
esp e7ead5c2ee Merge branch 'candidate-7.8.x' 5 years ago
fs 8f9caaf525 HPCC-23644 Containerized component logging logic 5 years ago
githooks 4ba38f7d01 Merge remote-tracking branch 'origin/candidate-3.10.x' 12 years ago
initfiles 657ad6a4eb HPCC-23874 Fix thor slave valgrind options command line 5 years ago
lib2 53e0ecb20f Various changes to help make install work on OSX catalina 5 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 7e5ca9637f Merge pull request #13642 from ghalliday/issue23853 5 years ago
roxie 4538a0e5a9 HPCC-23926 Fix roxie indexwrite cluster name issue 5 years ago
rtl cfd7ea8d4d Merge branch 'candidate-7.6.x' into candidate-7.8.x 5 years ago
services 9ff9bae797 HPCC-21758 Make StringBuffer constructors explicit 6 years ago
system 8e28dd3835 HPCC-23858 Added generic shared library suffixes to libaws installs 5 years ago
testing 70daab1bf9 Merge pull request #13660 from jakesmith/hpcc-20948-temp-super 5 years ago
thorlcr 5f13c6f2fe HPCC-23877 Add tracing if abort notifier notified without aborting 5 years ago
tools 34d33e254c Merge remote-tracking branch 'origin/candidate-7.6.x' into candidate-7.8.x 5 years ago
.gitattributes 2241da2000 HPCC-17425 Various fixes for running HPCC in windows linux subsystem 8 years ago
.gitignore e93161d906 HPCC-23289 EclWatch option to override debug server 5 years ago
.gitmodules 53b580989a HPCC-23632 Move the AWS support libraries 5 years ago
BUILD_ME.md 910c676afe HPCC-19056 Update build instructions 5 years ago
CMakeLists.txt 8cc8dec99c HPCC-23802 SQS Plugin build requires system/aws 5 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 1ec7f8ed88 Fix memory manager link 6 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-vs2015.bat 5db236fc6e HPCC-20752 Build and run HPCC in VS 2015 6 years ago
cmake_uninstall.cmake.in 2ae8bdcd44 HPCC-15142 Minimal changes needed for DESTDIR 9 years ago
hpcc.png a59ea3ce9c HPCC-23354 Supply an example helm chart and other docs 5 years ago
package-lock.json 4a7ea76b58 HPCC-19093 Update to latest hpcc-js 7 years ago
version.cmake a073dae0a1 Split off candidate-7.8.x 5 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: