This project contains code examples for Apache Ignite 3.
Examples are shipped as a separate Gradle module, so to start running you simply need to import the provided build.gradle
file into your favourite IDE.
The following examples are included:
RecordViewExample
- demonstrates the usage of the org.apache.ignite.table.RecordView
APIKeyValueViewExample
- demonstrates the usage of the org.apache.ignite.table.KeyValueView
APISqlJdbcExample
- demonstrates the usage of the Apache Ignite JDBC driver.SqlApiExample
- demonstrates the usage of the Java API for SQL.VolatilePageMemoryStorageExample
- demonstrates the usage of the PageMemory storage engine configured with an in-memory data region.PersistentPageMemoryStorageExample
- demonstrates the usage of the PageMemory storage engine configured with a persistent data region.RocksDbStorageExample
- demonstrates the usage of the RocksDB storage engine.KeyValueViewDataStreamerExample
- demonstrates the usage of the DataStreamerTarget#streamData(Publisher, DataStreamerOptions)
API with the KeyValueView
.KeyValueViewPojoDataStreamerExample
- demonstrates the usage of the DataStreamerTarget#streamData(Publisher, DataStreamerOptions)
API with the KeyValueView
and user-defined POJOs.RecordViewDataStreamerExample
- demonstrates the usage of the DataStreamerTarget#streamData(Publisher, DataStreamerOptions)
API with the RecordView
.RecordViewPojoDataStreamerExample
- demonstrates the usage of the DataStreamerTarget#streamData(Publisher, DataStreamerOptions)
API with the RecordView
and user-defined POJOs.ReceiverStreamProcessingExample
- demonstrates the usage of the DataStreamerTarget#streamData(Publisher, Function, Function, ReceiverDescriptor, Subscriber, DataStreamerOptions, Object)
API for stream processing of the trades data read from the file.ReceiverStreamProcessingWithResultSubscriberExample
- demonstrates the usage of the DataStreamerTarget#streamData(Publisher, Function, Function, ReceiverDescriptor, Subscriber, DataStreamerOptions, Object)
API for stream processing of the trade data and receiving processing results.ReceiverStreamProcessingWithTableUpdateExample
- demonstrates the usage of the DataStreamerTarget#streamData(Publisher, Function, Function, ReceiverDescriptor, Subscriber, DataStreamerOptions, Object)
API for stream processing of the trade data and updating account data in the table.ComputeAsyncExample
- demonstrates the usage of the IgniteCompute#executeAsync(JobTarget, JobDescriptor, Object)
API.ComputeBroadcastExample
- demonstrates the usage of the IgniteCompute#execute(BroadcastJobTarget, JobDescriptor, Object)
API.ComputeCancellationExample
- demonstrates the usage of the IgniteCompute#executeAsync(JobTarget, JobDescriptor, Object, CancellationToken)
API.ComputeColocatedExample
- demonstrates the usage of the IgniteCompute#execute(JobTarget, JobDescriptor, Object)
API with colocated JobTarget.ComputeExample
- demonstrates the usage of the IgniteCompute#execute(JobTarget, JobDescriptor, Object)
API.ComputeJobPriorityExample
- demonstrates the usage of the IgniteCompute#execute(JobTarget, JobDescriptor, Object)
API with different job priorities.ComputeMapReduceExample
- demonstrates the usage of the IgniteCompute#executeMapReduce(TaskDescriptor, Object)
API.ComputeWithCustomResultMarshallerExample
- demonstrates the usage of the IgniteCompute#execute(JobTarget, JobDescriptor, Object)
API with a custom result marshaller.ComputeWithResultExample
- demonstrates the usage of the IgniteCompute#execute(JobTarget, JobDescriptor, Object)
}` API with a result return.docker pull apacheignite/ignite:3.0.0
docker run --name ignite3-node -d --rm -p 10300:10300 -p 10800:10800 \ -v $IGNITE_SOURCES/examples/config/ignite-config.conf:/opt/ignite/etc/ignite-config.conf apacheignite/ignite:3.0.0
NODE_IP_ADDRESS=$(docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' ignite3-node)
docker run --rm -it apacheignite/ignite:3.0.0 cli cluster init --url http://$NODE_IP_ADDRESS:10300 --name myCluster1 \ --cluster-management-group defaultNode --metastorage-group defaultNode
Run the example via IDE.
Stop the Ignite node:
docker stop ignite3-node
Open the Ignite project in your IDE of choice.
Download the Ignite ZIP package including the database and CLI parts. Alternatively, build these parts from the Ignite sources (see DEVNOTES.md). Unpack.
Prepare the environment variables. IGNITE_HOME
is used in the Ignite startup. Therefore, you need to export it:
export IGNITE_HOME=/path/to/ignite3-db-dir IGNITE_CLI_HOME=/path/to/ignite3-cli-dir IGNITE_SOURCES=/path/to/ignite3-sources-dir
echo "CONFIG_FILE=$IGNITE_SOURCES/examples/config/ignite-config.conf" >> $IGNITE_HOME/etc/vars.env
$IGNITE_HOME/bin/ignite3db start
$IGNITE_CLI_HOME/bin/ignite3 cluster init --name myCluster1
Run the example from the IDE.
Stop the Ignite node using the startup script:
$IGNITE_HOME/bin/ignite3db stop