Yury, ML folks, I've mentioned a strange thing. Looks like every example we have wraps up its logic in the following block
IgniteThread igniteThread = new IgniteThread(ignite.configuration().getIgniteInstanceName(), KMeansClusterizationExample.class.getSimpleName(), () -> { //ML specific stuff (training, predicting, calculations, etc.) }); igniteThread.start(); igniteThread.join(); Why do we do that? Denis