Get Started

Get Started

These guides demonstrate the operational flexibility and speed of the Hazelcast In-Memory Computing Platform. Set-up in seconds, data in microseconds. Operations and developer friendly.

Hazelcast IMDG

Find out for yourself how to get a Hazelcast IMDG cluster up and running. In this Getting Started guide you’ll learn how to:

  • Create a Cluster of 3 Members.
  • Start the Hazelcast Management Center.
  • Add data to the cluster using a sample client in the language of your choice.
  • Add and remove some cluster members to demonstrate the automatic rebalancing of data and back-ups.

Hazelcast Jet

Learn how to run a distributed data stream processing pipeline in Java. In this Getting Started guide you’ll learn how to:

  • Start a Hazelcast Jet cluster in your JVM.
  • Build the Word Count application.
  • Execute the application wit Jet.
  • Push testing data to the cluster and explore results

As a next step, you will be able explore the code samples and extend your setup more features and connectors.

Demos

The following are demonstration applications using Hazelcast Jet. Each is a full application and demonstrates how you can use Jet to solve real-world problems. For smaller, feature specific samples see Hazelcast Jet Code Samples.

Flight Telemetry Fork me on
GitHub

This demo analyzes the plane telemetry data stream of all commercial aircraft flying anywhere in the world to compute noise levels and estimated C02 emissions for defined urban areas. The results are displayed in Grafana.

There are typically 5,000-6,000 aircraft in the air at any point in time. A Jet job polls real-time information about the aircraft and its position from the ADB-S Exchange service. Multiple measurements are aggregated to detect whether each respective plane is ascending or descending. The stream is enriched with the plane characteristics. Lookup tables for the enrichment are cached in an embedded Hazelcast IMDG Map. Vertical direction, combined with plane characteristics, is used to compute noise and air pollution impact. This information is aggregated for pre-defined urban areas, such as London and Frankfurt before it’s sent to Grafana for visualization.

Market Data Ingest Fork me on
GitHub

This demo is showing how Jet in an ETL deployment continuously imports data from Kafka into Hazelcast IMDG.

Jet pipeline uploads a stream of stock market data (prices) from a Kafka topic into an IMDG distributed map. The demo also shows how to read the change stream of IMDG using Jet. Jet is configured and wired using Spring.

Markov Chain Generator Fork me on
GitHub

This demo generates a Markov Chain with probabilities based on supplied classical books. Markov Chain is a stochastic model describing a sequence of possible events in which the probability of each event depends only on the state attained in the previous event.

To build the Markov Chain, Jet reads the books stored in text files and converts consecutive words to pairs. To compute the probability of finding word B after A, one has to know how many pairs contain word A as a first entry and how many of them contain B as a second entry. The aggregation features of Jet are used to do the heavy lifting. Jet runs the computation in parallel to make use of all available processor cores. The chain is then used to generate random sentences.

Real-Time Image Recognition Fork me on
GitHub

This demo uses the webcam video stream of a laptop computer as a source and recognizes the objects using machine learning. The image classification is performed using a convolutional neural network pre-trained using a CIFAR-10 dataset.

The model is read from the filesystem and loaded into Jet processors which enable the recognition. The video is streamed from a local camera and decomposed to individual frames. Every frame is passed to an image recognition algorithm and classified. The image recognition results are aggregated in 1 second windows and the frame with the maximum score is shown in a GUI application.

Real-Time Road Traffic Analysis and Prediction Fork me on
GitHub

This demo shows how to use Jet for real-time machine learning use-cases. It combines real-time model training and prediction into one Jet Pipeline. Jet reads the traffic data from a CSV file. The data source can be easily replaced with a stream such as Kafka. Every input record contains a timestamp, location, and respective car count. After the ingestion, the records are routed to two separate computations. The first computation uses the car count to train the model. The model contains the car count trends computed using linear regression. The second computation combines current car count, with the trend from the previous week, to predict a car count in the next two hours. Prediction results are stored in a file in predictions/directory.

Real-Time Sports Betting Engine Fork me on
GitHub

This demo is a sports betting application that provides a simplified form of betting on horse racing. This demo is a good introduction to the Pipeline API. It also uses Hazelcast IMDG as an in-memory data store.

TensorFlow Fork me on
GitHub

TensorFlow is a popular library to train and use machine learning models. We integrate it with Jet to classify stream of events with the result of a TF model execution.

This example uses the Large Movie Reviews Dataset as provided by the TensorFlow Keras Datasets. The model predicts whether a movie review is positive or negative.

TensorFlow model runs either as a remote TensorFlow Serving application or in-process with Jet.

Train Collision Prevention Fork me on
GitHub

This demo extracts real-time vehicle data from the train simulation game (Open Transport Tycoon Deluxe) and analyses it using Hazelcast Jet data processing engine. The analytical job in Jet predicts train collisions. The predicted collision information is pushed back to the running OpenTTD game to stop the affected trains.

Train Tracking Fork me on
GitHub

An example implemented using Apache Beam Jet Runner. It tracks the train using a GPS feed and visualises it on a dashboard.

The Beam pipeline is used to enrich the stream of GPS points. They are parsed and reformatted from CSV to JSON, and then windowing is used to drop some out of sequence points. These points are plotted dynamically on a map to make things more visual using JavaScript and a WebSocket. This is done as they arrive, stream processing, not batch processing.

Twitter Cryptocurrency Sentiment Analysis Fork me on
GitHub

Tweet sentiment is analyzed in real-time to compute cryptocurrency popularity trends.

Tweets are streamed from Twitter and categorized by coin type (BTC, ETC, XRP, etc). Then, Natural-language processing(NLP) sentiment analysis is applied to each Tweet to calculate the sentiment score. This score indicates whether the Tweet has a positive or negative sentiment. Custom Jet transformations using the Stanford NLP Machine Learning library is used to compute the sentiment score for each cryptocurrency. Jet aggregates scores from the last 30 seconds, last minute and last 5 minutes and prints the coin popularity table.

Free Hazelcast Online Training Center

Whether you're interested in learning the basics of in-memory systems, or you're looking for advanced, real-world production examples and best practices, we've got you covered.

Open Gitter Chat