http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/datastructures/IgniteExecutorServiceExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/datastructures/IgniteExecutorServiceExample.java b/examples/src/main/java8/org/apache/ignite/examples/java8/datastructures/IgniteExecutorServiceExample.java
deleted file mode 100644
index a0c9701..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/datastructures/IgniteExecutorServiceExample.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.java8.datastructures;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.TimeUnit;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.lang.IgniteRunnable;
-
-/**
- * Simple example to demonstrate usage of distributed executor service provided by Ignite.
- * <p>
- * Remote nodes should always be started with special configuration file which
- * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}.
- * <p>
- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node
- * with {@code examples/config/example-ignite.xml} configuration.
- */
-public final class IgniteExecutorServiceExample {
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- * @throws Exception If example execution failed.
- */
- @SuppressWarnings({"TooBroadScope"})
- public static void main(String[] args) throws Exception {
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- System.out.println();
- System.out.println(">>> Compute executor service example started.");
-
- // Get ignite-enabled executor service.
- ExecutorService exec = ignite.executorService();
-
- // Iterate through all words in the sentence and create callable jobs.
- for (final String word : "Print words using runnable".split(" ")) {
- // Execute runnable on some node.
- exec.submit((IgniteRunnable)() -> {
- System.out.println();
- System.out.println(">>> Printing '" + word + "' on this node from ignite job.");
- });
- }
-
- exec.shutdown();
-
- // Wait for all jobs to complete (0 means no limit).
- exec.awaitTermination(0, TimeUnit.MILLISECONDS);
-
- System.out.println();
- System.out.println(">>> Check all nodes for output (this node is also part of the cluster).");
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/datastructures/package-info.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/datastructures/package-info.java b/examples/src/main/java8/org/apache/ignite/examples/java8/datastructures/package-info.java
deleted file mode 100644
index 79b2f9a..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/datastructures/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * <!-- Package description. -->
- * Demonstrates using of blocking and non-blocking queues and atomic data structures.
- */
-package org.apache.ignite.examples.java8.datastructures;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/events/EventsExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/events/EventsExample.java b/examples/src/main/java8/org/apache/ignite/examples/java8/events/EventsExample.java
deleted file mode 100644
index 83a39ec..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/events/EventsExample.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.java8.events;
-
-import java.util.UUID;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.compute.ComputeTaskSession;
-import org.apache.ignite.events.TaskEvent;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.lang.IgniteBiPredicate;
-import org.apache.ignite.lang.IgnitePredicate;
-import org.apache.ignite.lang.IgniteRunnable;
-import org.apache.ignite.resources.TaskSessionResource;
-
-import static org.apache.ignite.events.EventType.EVTS_TASK_EXECUTION;
-
-/**
- * Demonstrates event consume API that allows to register event listeners on remote nodes.
- * Note that ignite events are disabled by default and must be specifically enabled,
- * just like in {@code examples/config/example-ignite.xml} file.
- * <p>
- * Remote nodes should always be started with configuration: {@code 'ignite.sh examples/config/example-ignite.xml'}.
- * <p>
- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start
- * node with {@code examples/config/example-ignite.xml} configuration.
- */
-public class EventsExample {
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- * @throws Exception If example execution failed.
- */
- public static void main(String[] args) throws Exception {
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- System.out.println();
- System.out.println(">>> Events API example started.");
-
- // Listen to events happening on local node.
- localListen();
-
- // Listen to events happening on all cluster nodes.
- remoteListen();
-
- // Wait for a while while callback is notified about remaining puts.
- Thread.sleep(1000);
- }
- }
-
- /**
- * Listen to events that happen only on local node.
- *
- * @throws IgniteException If failed.
- */
- private static void localListen() throws IgniteException {
- System.out.println();
- System.out.println(">>> Local event listener example.");
-
- Ignite ignite = Ignition.ignite();
-
- IgnitePredicate<TaskEvent> lsnr = evt -> {
- System.out.println("Received task event [evt=" + evt.name() + ", taskName=" + evt.taskName() + ']');
-
- return true; // Return true to continue listening.
- };
-
- // Register event listener for all local task execution events.
- ignite.events().localListen(lsnr, EVTS_TASK_EXECUTION);
-
- // Generate task events.
- ignite.compute().withName("example-event-task").run(() -> System.out.println("Executing sample job."));
-
- // Unsubscribe local task event listener.
- ignite.events().stopLocalListen(lsnr);
- }
-
- /**
- * Listen to events coming from all cluster nodes.
- *
- * @throws IgniteException If failed.
- */
- private static void remoteListen() throws IgniteException {
- System.out.println();
- System.out.println(">>> Remote event listener example.");
-
- // This optional local callback is called for each event notification
- // that passed remote predicate listener.
- IgniteBiPredicate<UUID, TaskEvent> locLsnr = (nodeId, evt) -> {
- // Remote filter only accepts tasks whose name being with "good-task" prefix.
- assert evt.taskName().startsWith("good-task");
-
- System.out.println("Received task event [evt=" + evt.name() + ", taskName=" + evt.taskName());
-
- return true; // Return true to continue listening.
- };
-
- // Remote filter which only accepts tasks whose name begins with "good-task" prefix.
- IgnitePredicate<TaskEvent> rmtLsnr = evt -> evt.taskName().startsWith("good-task");
-
- Ignite ignite = Ignition.ignite();
-
- // Register event listeners on all nodes to listen for task events.
- ignite.events().remoteListen(locLsnr, rmtLsnr, EVTS_TASK_EXECUTION);
-
- // Generate task events.
- for (int i = 0; i < 10; i++) {
- ignite.compute().withName(i < 5 ? "good-task-" + i : "bad-task-" + i).run(new IgniteRunnable() {
- // Auto-inject task session.
- @TaskSessionResource
- private ComputeTaskSession ses;
-
- @Override public void run() {
- System.out.println("Executing sample job for task: " + ses.getTaskName());
- }
- });
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/events/package-info.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/events/package-info.java b/examples/src/main/java8/org/apache/ignite/examples/java8/events/package-info.java
deleted file mode 100644
index 2fadf17..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/events/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * <!-- Package description. -->
- * Demonstrates events management API.
- */
-package org.apache.ignite.examples.java8.events;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java b/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java
deleted file mode 100644
index de060a7..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingExample.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.java8.messaging;
-
-import java.util.concurrent.CountDownLatch;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.IgniteMessaging;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.cluster.ClusterGroup;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.examples.ExamplesUtils;
-
-/**
- * Example that demonstrates how to exchange messages between nodes. Use such
- * functionality for cases when you need to communicate to other nodes outside
- * of ignite task.
- * <p>
- * To run this example you must have at least one remote node started.
- * <p>
- * Remote nodes should always be started with special configuration file which
- * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}.
- * <p>
- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node
- * with {@code examples/config/example-ignite.xml} configuration.
- */
-public final class MessagingExample {
- /** Number of messages. */
- private static final int MESSAGES_NUM = 10;
-
- /** Message topics. */
- private enum TOPIC { ORDERED, UNORDERED }
-
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- * @throws IgniteException If example execution failed.
- */
- public static void main(String[] args) throws Exception {
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- if (!ExamplesUtils.checkMinTopologySize(ignite.cluster(), 2))
- return;
-
- System.out.println();
- System.out.println(">>> Messaging example started.");
-
- // Group for remote nodes.
- ClusterGroup rmtGrp = ignite.cluster().forRemotes();
-
- // Listen for messages from remote nodes to make sure that they received all the messages.
- int msgCnt = rmtGrp.nodes().size() * MESSAGES_NUM;
-
- CountDownLatch orderedLatch = new CountDownLatch(msgCnt);
- CountDownLatch unorderedLatch = new CountDownLatch(msgCnt);
-
- localListen(ignite.message(ignite.cluster().forLocal()), orderedLatch, unorderedLatch);
-
- // Register listeners on all cluster nodes.
- startListening(ignite, ignite.message(rmtGrp));
-
- // Send unordered messages to all remote nodes.
- for (int i = 0; i < MESSAGES_NUM; i++)
- ignite.message(rmtGrp).send(TOPIC.UNORDERED, Integer.toString(i));
-
- System.out.println(">>> Finished sending unordered messages.");
-
- // Send ordered messages to all remote nodes.
- for (int i = 0; i < MESSAGES_NUM; i++)
- ignite.message(rmtGrp).sendOrdered(TOPIC.ORDERED, Integer.toString(i), 0);
-
- System.out.println(">>> Finished sending ordered messages.");
- System.out.println(">>> Check output on all nodes for message printouts.");
- System.out.println(">>> Will wait for messages acknowledgements from all remote nodes.");
-
- orderedLatch.await();
- unorderedLatch.await();
-
- System.out.println(">>> Messaging example finished.");
- }
- }
-
- /**
- * Start listening to messages on remote cluster nodes.
- *
- * @param ignite Ignite.
- * @param imsg Ignite messaging.
- * @throws IgniteException If failed.
- */
- private static void startListening(final Ignite ignite, IgniteMessaging imsg) throws IgniteException {
- // Add ordered message listener.
- imsg.remoteListen(TOPIC.ORDERED, (nodeId, msg) -> {
- System.out.println("Received ordered message [msg=" + msg + ", fromNodeId=" + nodeId + ']');
-
- try {
- ignite.message(ignite.cluster().forNodeId(nodeId)).send(TOPIC.ORDERED, msg);
- }
- catch (IgniteException e) {
- e.printStackTrace();
- }
-
- return true; // Return true to continue listening.
- });
-
- // Add unordered message listener.
- imsg.remoteListen(TOPIC.UNORDERED, (nodeId, msg) -> {
- System.out.println("Received unordered message [msg=" + msg + ", fromNodeId=" + nodeId + ']');
-
- try {
- ignite.message(ignite.cluster().forNodeId(nodeId)).send(TOPIC.UNORDERED, msg);
- }
- catch (IgniteException e) {
- e.printStackTrace();
- }
-
- return true; // Return true to continue listening.
- });
- }
-
- /**
- * Listen for messages from remote nodes.
- *
- * @param imsg Ignite messaging.
- * @param orderedLatch Latch for ordered messages acks.
- * @param unorderedLatch Latch for unordered messages acks.
- */
- private static void localListen(
- IgniteMessaging imsg,
- final CountDownLatch orderedLatch,
- final CountDownLatch unorderedLatch
- ) {
- imsg.localListen(TOPIC.ORDERED, (nodeId, msg) -> {
- orderedLatch.countDown();
-
- // Return true to continue listening, false to stop.
- return orderedLatch.getCount() > 0;
- });
-
- imsg.localListen(TOPIC.UNORDERED, (nodeId, msg) -> {
- unorderedLatch.countDown();
-
- // Return true to continue listening, false to stop.
- return unorderedLatch.getCount() > 0;
- });
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingPingPongExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingPingPongExample.java b/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingPingPongExample.java
deleted file mode 100644
index 133e735..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/MessagingPingPongExample.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.java8.messaging;
-
-import java.util.concurrent.CountDownLatch;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteException;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.cluster.ClusterGroup;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.examples.ExamplesUtils;
-
-/**
- * Demonstrates simple message exchange between local and remote nodes.
- * <p>
- * To run this example you must have at least one remote node started.
- * <p>
- * Remote nodes should always be started with special configuration file which
- * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}.
- * <p>
- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node
- * with {@code examples/config/example-ignite.xml} configuration.
- */
-public class MessagingPingPongExample {
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- * @throws Exception If example execution failed.
- */
- public static void main(String[] args) throws Exception {
- // Game is played over the default ignite.
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- if (!ExamplesUtils.checkMinTopologySize(ignite.cluster(), 2))
- return;
-
- System.out.println();
- System.out.println(">>> Messaging ping-pong example started.");
-
- // Pick random remote node as a partner.
- ClusterGroup nodeB = ignite.cluster().forRemotes().forRandom();
-
- // Note that both nodeA and nodeB will always point to
- // same nodes regardless of whether they were implicitly
- // serialized and deserialized on another node as part of
- // anonymous closure's state during its remote execution.
-
- // Set up remote player.
- ignite.message(nodeB).remoteListen(null, (nodeId, rcvMsg) -> {
- System.out.println("Received message [msg=" + rcvMsg + ", sender=" + nodeId + ']');
-
- if ("PING".equals(rcvMsg)) {
- ignite.message(ignite.cluster().forNodeId(nodeId)).send(null, "PONG");
-
- return true; // Continue listening.
- }
-
- return false; // Unsubscribe.
- });
-
- int MAX_PLAYS = 10;
-
- final CountDownLatch cnt = new CountDownLatch(MAX_PLAYS);
-
- // Set up local player.
- ignite.message().localListen(null, (nodeId, rcvMsg) -> {
- System.out.println("Received message [msg=" + rcvMsg + ", sender=" + nodeId + ']');
-
- if (cnt.getCount() == 1) {
- ignite.message(ignite.cluster().forNodeId(nodeId)).send(null, "STOP");
-
- cnt.countDown();
-
- return false; // Stop listening.
- }
- else if ("PONG".equals(rcvMsg))
- ignite.message(ignite.cluster().forNodeId(nodeId)).send(null, "PING");
- else
- throw new IgniteException("Received unexpected message: " + rcvMsg);
-
- cnt.countDown();
-
- return true; // Continue listening.
- });
-
- // Serve!
- ignite.message(nodeB).send(null, "PING");
-
- // Wait til the game is over.
- try {
- cnt.await();
- }
- catch (InterruptedException e) {
- System.err.println("Hm... let us finish the game!\n" + e);
- }
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/package-info.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/package-info.java b/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/package-info.java
deleted file mode 100644
index c950225..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/messaging/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * <!-- Package description. -->
- * Demonstrates how to exchange messages between nodes.
- */
-package org.apache.ignite.examples.java8.messaging;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/package-info.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/package-info.java b/examples/src/main/java8/org/apache/ignite/examples/java8/package-info.java
deleted file mode 100644
index 6d46cd0..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/package-info.java
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * <!-- Package description. -->
- * Basic examples for ignite functionality utilizing Java8 lambdas.
- * Use "java8" examples with JDK8 in addition to the "java" examples.
- */
-package org.apache.ignite.examples.java8;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/StreamTransformerExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/StreamTransformerExample.java b/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/StreamTransformerExample.java
deleted file mode 100644
index 358faff..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/StreamTransformerExample.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.java8.streaming;
-
-import java.util.List;
-import java.util.Random;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.IgniteDataStreamer;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.cache.query.SqlFieldsQuery;
-import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.examples.ExamplesUtils;
-import org.apache.ignite.stream.StreamTransformer;
-
-/**
- * Stream random numbers into the streaming cache.
- * To start the example, you should:
- * <ul>
- * <li>Start a few nodes using {@link ExampleNodeStartup} or by starting remote nodes as specified below.</li>
- * <li>Start streaming using {@link StreamTransformerExample}.</li>
- * </ul>
- * <p>
- * You should start remote nodes by running {@link ExampleNodeStartup} in another JVM.
- */
-public class StreamTransformerExample {
- /** Random number generator. */
- private static final Random RAND = new Random();
-
- /** Range within which to generate numbers. */
- private static final int RANGE = 1000;
-
- /** Cache name. */
- private static final String CACHE_NAME = "randomNumbers";
-
- public static void main(String[] args) throws Exception {
- // Mark this cluster member as client.
- Ignition.setClientMode(true);
-
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- if (!ExamplesUtils.hasServerNodes(ignite))
- return;
-
- CacheConfiguration<Integer, Long> cfg = new CacheConfiguration<>(CACHE_NAME);
-
- // Index key and value.
- cfg.setIndexedTypes(Integer.class, Long.class);
-
- // Auto-close cache at the end of the example.
- try (IgniteCache<Integer, Long> stmCache = ignite.getOrCreateCache(cfg)) {
- try (IgniteDataStreamer<Integer, Long> stmr = ignite.dataStreamer(stmCache.getName())) {
- // Allow data updates.
- stmr.allowOverwrite(true);
-
- // Configure data transformation to count random numbers added to the stream.
- stmr.receiver(StreamTransformer.from((e, arg) -> {
- // Get current count.
- Long val = e.getValue();
-
- // Increment count by 1.
- e.setValue(val == null ? 1L : val + 1);
-
- return null;
- }));
-
- // Stream 10 million of random numbers into the streamer cache.
- for (int i = 1; i <= 10_000_000; i++) {
- stmr.addData(RAND.nextInt(RANGE), 1L);
-
- if (i % 500_000 == 0)
- System.out.println("Number of tuples streamed into Ignite: " + i);
- }
- }
-
- // Query top 10 most popular numbers every.
- SqlFieldsQuery top10Qry = new SqlFieldsQuery("select _key, _val from Long order by _val desc limit 10");
-
- // Execute queries.
- List<List<?>> top10 = stmCache.query(top10Qry).getAll();
-
- System.out.println("Top 10 most popular numbers:");
-
- // Print top 10 words.
- ExamplesUtils.printQueryResults(top10);
- }
- finally {
- // Distributed cache could be removed from cluster only by #destroyCache() call.
- ignite.destroyCache(CACHE_NAME);
- }
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/StreamVisitorExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/StreamVisitorExample.java b/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/StreamVisitorExample.java
deleted file mode 100644
index bbb4f76..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/StreamVisitorExample.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.java8.streaming;
-
-import java.io.Serializable;
-import java.util.List;
-import java.util.Random;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.IgniteCache;
-import org.apache.ignite.IgniteDataStreamer;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.cache.query.SqlFieldsQuery;
-import org.apache.ignite.cache.query.annotations.QuerySqlField;
-import org.apache.ignite.configuration.CacheConfiguration;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.examples.ExamplesUtils;
-import org.apache.ignite.stream.StreamVisitor;
-
-/**
- * Stream random numbers into the streaming cache.
- * To start the example, you should:
- * <ul>
- * <li>Start a few nodes using {@link ExampleNodeStartup} or by starting remote nodes as specified below.</li>
- * <li>Start streaming using {@link StreamVisitorExample}.</li>
- * </ul>
- * <p>
- * You should start remote nodes by running {@link ExampleNodeStartup} in another JVM.
- */
-public class StreamVisitorExample {
- /** Random number generator. */
- private static final Random RAND = new Random();
-
- /** The list of instruments. */
- private static final String[] INSTRUMENTS = {"IBM", "GOOG", "MSFT", "GE", "EBAY", "YHOO", "ORCL", "CSCO", "AMZN", "RHT"};
-
- /** The list of initial instrument prices. */
- private static final double[] INITIAL_PRICES = {194.9, 893.49, 34.21, 23.24, 57.93, 45.03, 44.41, 28.44, 378.49, 69.50};
-
- public static void main(String[] args) throws Exception {
- // Mark this cluster member as client.
- Ignition.setClientMode(true);
-
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- if (!ExamplesUtils.hasServerNodes(ignite))
- return;
-
- // Market data cache with default configuration.
- CacheConfiguration<String, Double> mktDataCfg = new CacheConfiguration<>("marketTicks");
-
- // Financial instrument cache configuration.
- CacheConfiguration<String, Instrument> instCfg = new CacheConfiguration<>("instCache");
-
- // Index key and value for querying financial instruments.
- // Note that Instrument class has @QuerySqlField annotation for secondary field indexing.
- instCfg.setIndexedTypes(String.class, Instrument.class);
-
- // Auto-close caches at the end of the example.
- try (
- IgniteCache<String, Double> mktCache = ignite.getOrCreateCache(mktDataCfg);
- IgniteCache<String, Instrument> instCache = ignite.getOrCreateCache(instCfg)
- ) {
- try (IgniteDataStreamer<String, Double> mktStmr = ignite.dataStreamer(mktCache.getName())) {
- // Note that we receive market data, but do not populate 'mktCache' (it remains empty).
- // Instead we update the instruments in the 'instCache'.
- // Since both, 'instCache' and 'mktCache' use the same key, updates are collocated.
- mktStmr.receiver(StreamVisitor.from((cache, e) -> {
- String symbol = e.getKey();
- Double tick = e.getValue();
-
- Instrument inst = instCache.get(symbol);
-
- if (inst == null)
- inst = new Instrument(symbol);
-
- // Don't populate market cache, as we don't use it for querying.
- // Update cached instrument based on the latest market tick.
- inst.update(tick);
-
- instCache.put(symbol, inst);
- }));
-
- // Stream 10 million market data ticks into the system.
- for (int i = 1; i <= 10_000_000; i++) {
- int idx = RAND.nextInt(INSTRUMENTS.length);
-
- // Use gaussian distribution to ensure that
- // numbers closer to 0 have higher probability.
- double price = round2(INITIAL_PRICES[idx] + RAND.nextGaussian());
-
- mktStmr.addData(INSTRUMENTS[idx], price);
-
- if (i % 500_000 == 0)
- System.out.println("Number of tuples streamed into Ignite: " + i);
- }
- }
-
- // Select top 3 best performing instruments.
- SqlFieldsQuery top3qry = new SqlFieldsQuery(
- "select symbol, (latest - open) from Instrument order by (latest - open) desc limit 3");
-
- // Execute queries.
- List<List<?>> top3 = instCache.query(top3qry).getAll();
-
- System.out.println("Top performing financial instruments: ");
-
- // Print top 10 words.
- ExamplesUtils.printQueryResults(top3);
- }
- finally {
- // Distributed cache could be removed from cluster only by #destroyCache() call.
- ignite.destroyCache(mktDataCfg.getName());
- ignite.destroyCache(instCfg.getName());
- }
- }
- }
-
- /**
- * Rounds double value to two significant signs.
- *
- * @param val value to be rounded.
- * @return rounded double value.
- */
- private static double round2(double val) {
- return Math.floor(100 * val + 0.5) / 100;
- }
-
- /**
- * Financial instrument.
- */
- public static class Instrument implements Serializable {
- /** Instrument symbol. */
- @QuerySqlField(index = true)
- private final String symbol;
-
- /** Open price. */
- @QuerySqlField(index = true)
- private double open;
-
- /** Close price. */
- @QuerySqlField(index = true)
- private double latest;
-
- /**
- * @param symbol Symbol.
- */
- public Instrument(String symbol) {
- this.symbol = symbol;
- }
-
- /**
- * Updates this instrument based on the latest market tick price.
- *
- * @param price Latest price.
- */
- public void update(double price) {
- if (open == 0)
- open = price;
-
- this.latest = price;
- }
- }
-}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/package-info.java
----------------------------------------------------------------------
diff --git a/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/package-info.java b/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/package-info.java
deleted file mode 100644
index a3e8734..0000000
--- a/examples/src/main/java8/org/apache/ignite/examples/java8/streaming/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * <!-- Package description. -->
- * Demonstrates usage of data streamer.
- */
-package org.apache.ignite.examples.java8.streaming;
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/DatasetWithObviousStructure.java
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/DatasetWithObviousStructure.java b/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/DatasetWithObviousStructure.java
deleted file mode 100644
index 5cd0e09..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/DatasetWithObviousStructure.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.ml.clustering;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.stream.Collectors;
-import java.util.stream.IntStream;
-import org.apache.ignite.ml.math.Matrix;
-import org.apache.ignite.ml.math.Vector;
-import org.apache.ignite.ml.math.VectorUtils;
-import org.apache.ignite.ml.math.impls.vector.DenseLocalOnHeapVector;
-
-/**
- * See KMeansDistributedClustererTestSingleNode#testClusterizationOnDatasetWithObviousStructure.
- */
-class DatasetWithObviousStructure {
- /** */
- private final Random rnd = new Random(123456L);
-
- /** Let centers be in the vertices of square. */
- private final Map<Integer, Vector> centers = new HashMap<>();
-
- /** Square side length. */
- private final int squareSideLen;
-
- /** */
- DatasetWithObviousStructure(int squareSideLen) {
- this.squareSideLen = squareSideLen;
- centers.put(100, new DenseLocalOnHeapVector(new double[] {0.0, 0.0}));
- centers.put(900, new DenseLocalOnHeapVector(new double[] {squareSideLen, 0.0}));
- centers.put(3000, new DenseLocalOnHeapVector(new double[] {0.0, squareSideLen}));
- centers.put(6000, new DenseLocalOnHeapVector(new double[] {squareSideLen, squareSideLen}));
- }
-
- /** */
- List<Vector> generate(Matrix points) {
- int ptsCnt = points.rowSize();
-
- // Mass centers of dataset.
- List<Vector> massCenters = new ArrayList<>();
-
- int centersCnt = centers.size();
-
- List<Integer> permutation = IntStream.range(0, ptsCnt).boxed().collect(Collectors.toList());
- Collections.shuffle(permutation, rnd);
-
- Vector[] mc = new Vector[centersCnt];
- Arrays.fill(mc, VectorUtils.zeroes(2));
-
- int totalCnt = 0;
-
- int centIdx = 0;
- massCenters.clear();
-
- for (Integer count : centers.keySet()) {
- for (int i = 0; i < count; i++) {
- Vector pnt = getPoint(count);
-
- mc[centIdx] = mc[centIdx].plus(pnt);
-
- points.assignRow(permutation.get(totalCnt), pnt);
-
- totalCnt++;
- }
- massCenters.add(mc[centIdx].times(1 / (double)count));
- centIdx++;
- }
-
- return massCenters;
- }
-
- /** */
- Map<Integer, Vector> centers() {
- return centers;
- }
-
- /** */
- private Vector getPoint(Integer cnt) {
- Vector pnt = new DenseLocalOnHeapVector(2).assign(centers.get(cnt));
- // Perturbate point on random value.
- pnt.map(val -> val + rnd.nextDouble() * squareSideLen / 100);
- return pnt;
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/FuzzyCMeansExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/FuzzyCMeansExample.java b/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/FuzzyCMeansExample.java
deleted file mode 100644
index 23aeed7..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/FuzzyCMeansExample.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.ml.clustering;
-
-import org.apache.ignite.Ignite;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.ml.clustering.BaseFuzzyCMeansClusterer;
-import org.apache.ignite.ml.clustering.FuzzyCMeansDistributedClusterer;
-import org.apache.ignite.ml.clustering.FuzzyCMeansModel;
-import org.apache.ignite.ml.math.StorageConstants;
-import org.apache.ignite.ml.math.Vector;
-import org.apache.ignite.ml.math.distances.DistanceMeasure;
-import org.apache.ignite.ml.math.distances.EuclideanDistance;
-import org.apache.ignite.ml.math.impls.matrix.SparseDistributedMatrix;
-import org.apache.ignite.thread.IgniteThread;
-
-/**
- * <p>
- * This example shows how to use {@link FuzzyCMeansDistributedClusterer}.</p>
- * <p>
- * Remote nodes should always be started with special configuration file which
- * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}.</p>
- * <p>
- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node
- * with {@code examples/config/example-ignite.xml} configuration.</p>
- */
-public final class FuzzyCMeansExample {
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- */
- public static void main(String[] args) throws InterruptedException {
- System.out.println(">>> Fuzzy C-Means usage example started.");
-
- // Start ignite grid.
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- System.out.println(">>> Ignite grid started.");
-
- // Start new Ignite thread.
- IgniteThread igniteThread = new IgniteThread(ignite.configuration().getIgniteInstanceName(),
- FuzzyCMeansExample.class.getSimpleName(),
- () -> {
- // Distance measure that computes distance between two points.
- DistanceMeasure distanceMeasure = new EuclideanDistance();
-
- // "Fuzziness" - specific constant that is used in membership calculation (1.0+-eps ~ K-Means).
- double exponentialWeight = 2.0;
-
- // Condition that indicated when algorithm must stop.
- // In this example algorithm stops if memberships have changed insignificantly.
- BaseFuzzyCMeansClusterer.StopCondition stopCond =
- BaseFuzzyCMeansClusterer.StopCondition.STABLE_MEMBERSHIPS;
-
- // Maximum difference between new and old membership values with which algorithm will continue to work.
- double maxDelta = 0.01;
-
- // The maximum number of FCM iterations.
- int maxIterations = 50;
-
- // Value that is used to initialize random numbers generator. You can choose it randomly.
- Long seed = null;
-
- // Number of steps of primary centers selection (more steps more candidates).
- int initializationSteps = 2;
-
- // Number of K-Means iteration that is used to choose required number of primary centers from candidates.
- int kMeansMaxIterations = 50;
-
- // Create new distributed clusterer with parameters described above.
- System.out.println(">>> Create new Distributed Fuzzy C-Means clusterer.");
- FuzzyCMeansDistributedClusterer clusterer = new FuzzyCMeansDistributedClusterer(
- distanceMeasure, exponentialWeight, stopCond, maxDelta, maxIterations,
- seed, initializationSteps, kMeansMaxIterations);
-
- // Create sample data.
- double[][] points = new double[][] {
- {-10, -10}, {-9, -11}, {-10, -9}, {-11, -9},
- {10, 10}, {9, 11}, {10, 9}, {11, 9},
- {-10, 10}, {-9, 11}, {-10, 9}, {-11, 9},
- {10, -10}, {9, -11}, {10, -9}, {11, -9}};
-
- // Initialize matrix of data points. Each row contains one point.
- int rows = points.length;
- int cols = points[0].length;
-
- System.out.println(">>> Create the matrix that contains sample points.");
- SparseDistributedMatrix pntMatrix = new SparseDistributedMatrix(rows, cols,
- StorageConstants.ROW_STORAGE_MODE, StorageConstants.RANDOM_ACCESS_MODE);
-
- // Store points into matrix.
- pntMatrix.assign(points);
-
- // Call clusterization method with some number of centers.
- // It returns model that can predict results for new points.
- System.out.println(">>> Perform clusterization.");
- int numCenters = 4;
- FuzzyCMeansModel mdl = clusterer.cluster(pntMatrix, numCenters);
-
- // You can also get centers of clusters that is computed by Fuzzy C-Means algorithm.
- Vector[] centers = mdl.centers();
-
- String res = ">>> Results:\n"
- + ">>> 1st center: " + centers[0].get(0) + " " + centers[0].get(1) + "\n"
- + ">>> 2nd center: " + centers[1].get(0) + " " + centers[1].get(1) + "\n"
- + ">>> 3rd center: " + centers[2].get(0) + " " + centers[2].get(1) + "\n"
- + ">>> 4th center: " + centers[3].get(0) + " " + centers[3].get(1) + "\n";
-
- System.out.println(res);
-
- pntMatrix.destroy();
- });
-
- igniteThread.start();
- igniteThread.join();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/FuzzyCMeansLocalExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/FuzzyCMeansLocalExample.java b/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/FuzzyCMeansLocalExample.java
deleted file mode 100644
index 5c1753a..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/FuzzyCMeansLocalExample.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.ml.clustering;
-
-import org.apache.ignite.ml.clustering.BaseFuzzyCMeansClusterer;
-import org.apache.ignite.ml.clustering.FuzzyCMeansLocalClusterer;
-import org.apache.ignite.ml.clustering.FuzzyCMeansModel;
-import org.apache.ignite.ml.math.Vector;
-import org.apache.ignite.ml.math.distances.DistanceMeasure;
-import org.apache.ignite.ml.math.distances.EuclideanDistance;
-import org.apache.ignite.ml.math.impls.matrix.DenseLocalOnHeapMatrix;
-
-/**
- * This example shows how to use {@link FuzzyCMeansLocalClusterer}.
- */
-public final class FuzzyCMeansLocalExample {
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- */
- public static void main(String[] args) {
- System.out.println(">>> Local Fuzzy C-Means usage example started.");
-
- // Distance measure that computes distance between two points.
- DistanceMeasure distanceMeasure = new EuclideanDistance();
-
- // "Fuzziness" - specific constant that is used in membership calculation (1.0+-eps ~ K-Means).
- double exponentialWeight = 2.0;
-
- // Condition that indicated when algorithm must stop.
- // In this example algorithm stops if memberships have changed insignificantly.
- BaseFuzzyCMeansClusterer.StopCondition stopCond =
- BaseFuzzyCMeansClusterer.StopCondition.STABLE_MEMBERSHIPS;
-
- // Maximum difference between new and old membership values with which algorithm will continue to work.
- double maxDelta = 0.01;
-
- // The maximum number of FCM iterations.
- int maxIterations = 50;
-
- // Value that is used to initialize random numbers generator. You can choose it randomly.
- Long seed = null;
-
- // Create new distributed clusterer with parameters described above.
- System.out.println(">>> Create new Local Fuzzy C-Means clusterer.");
- FuzzyCMeansLocalClusterer clusterer = new FuzzyCMeansLocalClusterer(distanceMeasure,
- exponentialWeight, stopCond,
- maxDelta, maxIterations, seed);
-
- // Create sample data.
- double[][] points = new double[][] {
- {-10, -10}, {-9, -11}, {-10, -9}, {-11, -9},
- {10, 10}, {9, 11}, {10, 9}, {11, 9},
- {-10, 10}, {-9, 11}, {-10, 9}, {-11, 9},
- {10, -10}, {9, -11}, {10, -9}, {11, -9}};
-
- // Initialize matrix of data points. Each row contains one point.
- System.out.println(">>> Create the matrix that contains sample points.");
- // Store points into matrix.
- DenseLocalOnHeapMatrix pntMatrix = new DenseLocalOnHeapMatrix(points);
-
- // Call clusterization method with some number of centers.
- // It returns model that can predict results for new points.
- System.out.println(">>> Perform clusterization.");
- int numCenters = 4;
- FuzzyCMeansModel mdl = clusterer.cluster(pntMatrix, numCenters);
-
- // You can also get centers of clusters that is computed by Fuzzy C-Means algorithm.
- Vector[] centers = mdl.centers();
-
- String res = ">>> Results:\n"
- + ">>> 1st center: " + centers[0].get(0) + " " + centers[0].get(1) + "\n"
- + ">>> 2nd center: " + centers[1].get(0) + " " + centers[1].get(1) + "\n"
- + ">>> 3rd center: " + centers[2].get(0) + " " + centers[2].get(1) + "\n"
- + ">>> 4th center: " + centers[3].get(0) + " " + centers[3].get(1) + "\n";
-
- System.out.println(res);
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/KMeansDistributedClustererExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/KMeansDistributedClustererExample.java b/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/KMeansDistributedClustererExample.java
deleted file mode 100644
index f8709e6..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/KMeansDistributedClustererExample.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.ml.clustering;
-
-import java.util.Arrays;
-import java.util.List;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.examples.ml.math.matrix.SparseDistributedMatrixExample;
-import org.apache.ignite.ml.clustering.KMeansDistributedClusterer;
-import org.apache.ignite.ml.math.StorageConstants;
-import org.apache.ignite.ml.math.Tracer;
-import org.apache.ignite.ml.math.Vector;
-import org.apache.ignite.ml.math.distances.EuclideanDistance;
-import org.apache.ignite.ml.math.impls.matrix.SparseDistributedMatrix;
-import org.apache.ignite.thread.IgniteThread;
-
-/**
- * <p>
- * Example of using {@link KMeansDistributedClusterer}.</p>
- * <p>
- * Note that in this example we cannot guarantee order in which nodes return results of intermediate
- * computations and therefore algorithm can return different results.</p>
- * <p>
- * Remote nodes should always be started with special configuration file which
- * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}.</p>
- * <p>
- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node
- * with {@code examples/config/example-ignite.xml} configuration.</p>
- */
-public class KMeansDistributedClustererExample {
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- */
- public static void main(String[] args) throws InterruptedException {
- // IMPL NOTE based on KMeansDistributedClustererTestSingleNode#testClusterizationOnDatasetWithObviousStructure
- System.out.println(">>> K-means distributed clusterer example started.");
-
- // Start ignite grid.
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- System.out.println(">>> Ignite grid started.");
-
- // Create IgniteThread, we must work with SparseDistributedMatrix inside IgniteThread
- // because we create ignite cache internally.
- IgniteThread igniteThread = new IgniteThread(ignite.configuration().getIgniteInstanceName(),
- SparseDistributedMatrixExample.class.getSimpleName(), () -> {
-
- int ptsCnt = 10000;
-
- SparseDistributedMatrix points = new SparseDistributedMatrix(ptsCnt, 2,
- StorageConstants.ROW_STORAGE_MODE, StorageConstants.RANDOM_ACCESS_MODE);
-
- DatasetWithObviousStructure dataset = new DatasetWithObviousStructure(10000);
-
- List<Vector> massCenters = dataset.generate(points);
-
- EuclideanDistance dist = new EuclideanDistance();
-
- KMeansDistributedClusterer clusterer = new KMeansDistributedClusterer(dist, 3, 100, 1L);
-
- Vector[] resCenters = clusterer.cluster(points, 4).centers();
-
- System.out.println("Mass centers:");
- massCenters.forEach(Tracer::showAscii);
-
- System.out.println("Cluster centers:");
- Arrays.asList(resCenters).forEach(Tracer::showAscii);
-
- points.destroy();
-
- System.out.println("\n>>> K-means distributed clusterer example completed.");
- });
-
- igniteThread.start();
-
- igniteThread.join();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/KMeansLocalClustererExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/KMeansLocalClustererExample.java b/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/KMeansLocalClustererExample.java
deleted file mode 100644
index 28ca9d9..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/KMeansLocalClustererExample.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.ml.clustering;
-
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-import org.apache.ignite.ml.clustering.KMeansLocalClusterer;
-import org.apache.ignite.ml.clustering.KMeansModel;
-import org.apache.ignite.ml.math.Tracer;
-import org.apache.ignite.ml.math.Vector;
-import org.apache.ignite.ml.math.distances.DistanceMeasure;
-import org.apache.ignite.ml.math.distances.EuclideanDistance;
-import org.apache.ignite.ml.math.functions.Functions;
-import org.apache.ignite.ml.math.impls.matrix.DenseLocalOnHeapMatrix;
-
-/**
- * Example of using {@link KMeansLocalClusterer}.
- */
-public class KMeansLocalClustererExample {
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- */
- public static void main(String[] args) {
- // IMPL NOTE based on KMeansDistributedClustererTestSingleNode#testClusterizationOnDatasetWithObviousStructure
- System.out.println(">>> K-means local clusterer example started.");
-
- int ptsCnt = 10000;
- DenseLocalOnHeapMatrix points = new DenseLocalOnHeapMatrix(ptsCnt, 2);
-
- DatasetWithObviousStructure dataset = new DatasetWithObviousStructure(10000);
-
- List<Vector> massCenters = dataset.generate(points);
-
- EuclideanDistance dist = new EuclideanDistance();
- OrderedNodesComparator comp = new OrderedNodesComparator(
- dataset.centers().values().toArray(new Vector[] {}), dist);
-
- massCenters.sort(comp);
-
- KMeansLocalClusterer clusterer = new KMeansLocalClusterer(dist, 100, 1L);
-
- KMeansModel mdl = clusterer.cluster(points, 4);
- Vector[] resCenters = mdl.centers();
- Arrays.sort(resCenters, comp);
-
- System.out.println("Mass centers:");
- massCenters.forEach(Tracer::showAscii);
-
- System.out.println("Cluster centers:");
- Arrays.asList(resCenters).forEach(Tracer::showAscii);
-
- System.out.println("\n>>> K-means local clusterer example completed.");
- }
-
- /** */
- private static class OrderedNodesComparator implements Comparator<Vector> {
- /** */
- private final DistanceMeasure measure;
-
- /** */
- List<Vector> orderedNodes;
-
- /** */
- OrderedNodesComparator(Vector[] orderedNodes, DistanceMeasure measure) {
- this.orderedNodes = Arrays.asList(orderedNodes);
- this.measure = measure;
- }
-
- /** */
- private int findClosestNodeIndex(Vector v) {
- return Functions.argmin(orderedNodes, v1 -> measure.compute(v1, v)).get1();
- }
-
- /** */
- @Override public int compare(Vector v1, Vector v2) {
- int ind1 = findClosestNodeIndex(v1);
- int ind2 = findClosestNodeIndex(v2);
-
- int signum = (int)Math.signum(ind1 - ind2);
-
- if (signum != 0)
- return signum;
-
- return (int)Math.signum(orderedNodes.get(ind1).minus(v1).kNorm(2) -
- orderedNodes.get(ind2).minus(v2).kNorm(2));
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/package-info.java
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/package-info.java b/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/package-info.java
deleted file mode 100644
index 872aa16..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/clustering/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * <!-- Package description. -->
- * ML clustering examples.
- */
-package org.apache.ignite.examples.ml.clustering;
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/knn/classification/KNNClassificationExample.java
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/classification/KNNClassificationExample.java b/examples/src/main/ml/org/apache/ignite/examples/ml/knn/classification/KNNClassificationExample.java
deleted file mode 100644
index 0e1a52f..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/classification/KNNClassificationExample.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.ignite.examples.ml.knn.classification;
-
-import java.io.IOException;
-import java.net.URISyntaxException;
-import java.net.URL;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Arrays;
-import org.apache.ignite.Ignite;
-import org.apache.ignite.Ignition;
-import org.apache.ignite.examples.ExampleNodeStartup;
-import org.apache.ignite.ml.knn.models.KNNModel;
-import org.apache.ignite.ml.knn.models.KNNStrategy;
-import org.apache.ignite.ml.math.distances.EuclideanDistance;
-import org.apache.ignite.ml.structures.LabeledDataset;
-import org.apache.ignite.ml.structures.LabeledDatasetTestTrainPair;
-import org.apache.ignite.ml.structures.preprocessing.LabeledDatasetLoader;
-import org.apache.ignite.ml.structures.preprocessing.LabellingMachine;
-import org.apache.ignite.thread.IgniteThread;
-
-/**
- * <p>
- * Example of using {@link KNNModel} with iris dataset.</p>
- * <p>
- * Note that in this example we cannot guarantee order in which nodes return results of intermediate
- * computations and therefore algorithm can return different results.</p>
- * <p>
- * Remote nodes should always be started with special configuration file which
- * enables P2P class loading: {@code 'ignite.{sh|bat} examples/config/example-ignite.xml'}.</p>
- * <p>
- * Alternatively you can run {@link ExampleNodeStartup} in another JVM which will start node
- * with {@code examples/config/example-ignite.xml} configuration.</p>
- */
-public class KNNClassificationExample {
- /** Separator. */
- private static final String SEPARATOR = "\t";
-
- /** Path to the Iris dataset. */
- private static final String KNN_IRIS_TXT = "../datasets/iris.txt";
-
- /**
- * Executes example.
- *
- * @param args Command line arguments, none required.
- */
- public static void main(String[] args) throws InterruptedException {
- System.out.println(">>> kNN classification example started.");
- // Start ignite grid.
- try (Ignite ignite = Ignition.start("examples/config/example-ignite.xml")) {
- System.out.println(">>> Ignite grid started.");
-
- IgniteThread igniteThread = new IgniteThread(ignite.configuration().getIgniteInstanceName(),
- KNNClassificationExample.class.getSimpleName(), () -> {
-
- try {
- // Prepare path to read
- URL url = KNNClassificationExample.class.getResource(KNN_IRIS_TXT);
- if (url == null)
- throw new RuntimeException("Can't get URL for: " + KNN_IRIS_TXT);
-
- Path path = Paths.get(url.toURI());
-
- // Read dataset from file
- LabeledDataset dataset = LabeledDatasetLoader.loadFromTxtFile(path, SEPARATOR, true, false);
-
- // Random splitting of iris data as 70% train and 30% test datasets
- LabeledDatasetTestTrainPair split = new LabeledDatasetTestTrainPair(dataset, 0.3);
-
- System.out.println("\n>>> Amount of observations in train dataset " + split.train().rowSize());
- System.out.println("\n>>> Amount of observations in test dataset " + split.test().rowSize());
-
- LabeledDataset test = split.test();
- LabeledDataset train = split.train();
-
- KNNModel knnMdl = new KNNModel(5, new EuclideanDistance(), KNNStrategy.SIMPLE, train);
-
- // Clone labels
- final double[] labels = test.labels();
-
- // Save predicted classes to test dataset
- LabellingMachine.assignLabels(test, knnMdl);
-
- // Calculate amount of errors on test dataset
- int amountOfErrors = 0;
- for (int i = 0; i < test.rowSize(); i++) {
- if (test.label(i) != labels[i])
- amountOfErrors++;
- }
-
- System.out.println("\n>>> Absolute amount of errors " + amountOfErrors);
- System.out.println("\n>>> Accuracy " + amountOfErrors / (double)test.rowSize());
-
- // Build confusion matrix. See https://en.wikipedia.org/wiki/Confusion_matrix
- int[][] confusionMtx = {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}};
- for (int i = 0; i < test.rowSize(); i++) {
- int idx1 = (int)test.label(i);
- int idx2 = (int)labels[i];
- confusionMtx[idx1 - 1][idx2 - 1]++;
- }
- System.out.println("\n>>> Confusion matrix is " + Arrays.deepToString(confusionMtx));
-
- // Calculate precision, recall and F-metric for each class
- for (int i = 0; i < 3; i++) {
- double precision = 0.0;
- for (int j = 0; j < 3; j++)
- precision += confusionMtx[i][j];
- precision = confusionMtx[i][i] / precision;
-
- double clsLb = (double)(i + 1);
-
- System.out.println("\n>>> Precision for class " + clsLb + " is " + precision);
-
- double recall = 0.0;
- for (int j = 0; j < 3; j++)
- recall += confusionMtx[j][i];
- recall = confusionMtx[i][i] / recall;
- System.out.println("\n>>> Recall for class " + clsLb + " is " + recall);
-
- double fScore = 2 * precision * recall / (precision + recall);
- System.out.println("\n>>> F-score for class " + clsLb + " is " + fScore);
- }
-
- }
- catch (URISyntaxException | IOException e) {
- e.printStackTrace();
- System.out.println("\n>>> Unexpected exception, check resources: " + e);
- }
- finally {
- System.out.println("\n>>> kNN classification example completed.");
- }
-
- });
-
- igniteThread.start();
- igniteThread.join();
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/knn/classification/package-info.java
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/classification/package-info.java b/examples/src/main/ml/org/apache/ignite/examples/ml/knn/classification/package-info.java
deleted file mode 100644
index d853f0d..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/classification/package-info.java
+++ /dev/null
@@ -1,22 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * <!-- Package description. -->
- * kNN classification examples.
- */
-package org.apache.ignite.examples.ml.knn.classification;
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/README.md
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/README.md b/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/README.md
deleted file mode 100644
index 2f9c5ec..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/README.md
+++ /dev/null
@@ -1,2 +0,0 @@
-iris.txt and cleared_machines are from Lichman, M. (2013). UCI Machine Learning Repository [http://archive.ics.uci.edu/ml]. Irvine, CA: University of California, School of Information and Computer Science.
-Read more about machine dataset http://archive.ics.uci.edu/ml/machine-learning-databases/cpu-performance/machine.names
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/cleared_machines.txt
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/cleared_machines.txt b/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/cleared_machines.txt
deleted file mode 100644
index cf8b6b0..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/cleared_machines.txt
+++ /dev/null
@@ -1,209 +0,0 @@
-199,125,256,6000,256,16,128
-253,29,8000,32000,32,8,32
-253,29,8000,32000,32,8,32
-253,29,8000,32000,32,8,32
-132,29,8000,16000,32,8,16
-290,26,8000,32000,64,8,32
-381,23,16000,32000,64,16,32
-381,23,16000,32000,64,16,32
-749,23,16000,64000,64,16,32
-1238,23,32000,64000,128,32,64
-23,400,1000,3000,0,1,2
-24,400,512,3500,4,1,6
-70,60,2000,8000,65,1,8
-117,50,4000,16000,65,1,8
-15,350,64,64,0,1,4
-64,200,512,16000,0,4,32
-23,167,524,2000,8,4,15
-29,143,512,5000,0,7,32
-22,143,1000,2000,0,5,16
-124,110,5000,5000,142,8,64
-35,143,1500,6300,0,5,32
-39,143,3100,6200,0,5,20
-40,143,2300,6200,0,6,64
-45,110,3100,6200,0,6,64
-28,320,128,6000,0,1,12
-21,320,512,2000,4,1,3
-28,320,256,6000,0,1,6
-22,320,256,3000,4,1,3
-28,320,512,5000,4,1,5
-27,320,256,5000,4,1,6
-102,25,1310,2620,131,12,24
-102,25,1310,2620,131,12,24
-74,50,2620,10480,30,12,24
-74,50,2620,10480,30,12,24
-138,56,5240,20970,30,12,24
-136,64,5240,20970,30,12,24
-23,50,500,2000,8,1,4
-29,50,1000,4000,8,1,5
-44,50,2000,8000,8,1,5
-30,50,1000,4000,8,3,5
-41,50,1000,8000,8,3,5
-74,50,2000,16000,8,3,5
-74,50,2000,16000,8,3,6
-74,50,2000,16000,8,3,6
-54,133,1000,12000,9,3,12
-41,133,1000,8000,9,3,12
-18,810,512,512,8,1,1
-28,810,1000,5000,0,1,1
-36,320,512,8000,4,1,5
-38,200,512,8000,8,1,8
-34,700,384,8000,0,1,1
-19,700,256,2000,0,1,1
-72,140,1000,16000,16,1,3
-36,200,1000,8000,0,1,2
-30,110,1000,4000,16,1,2
-56,110,1000,12000,16,1,2
-42,220,1000,8000,16,1,2
-34,800,256,8000,0,1,4
-34,800,256,8000,0,1,4
-34,800,256,8000,0,1,4
-34,800,256,8000,0,1,4
-34,800,256,8000,0,1,4
-19,125,512,1000,0,8,20
-75,75,2000,8000,64,1,38
-113,75,2000,16000,64,1,38
-157,75,2000,16000,128,1,38
-18,90,256,1000,0,3,10
-20,105,256,2000,0,3,10
-28,105,1000,4000,0,3,24
-33,105,2000,4000,8,3,19
-47,75,2000,8000,8,3,24
-54,75,3000,8000,8,3,48
-20,175,256,2000,0,3,24
-23,300,768,3000,0,6,24
-25,300,768,3000,6,6,24
-52,300,768,12000,6,6,24
-27,300,768,4500,0,1,24
-50,300,384,12000,6,1,24
-18,300,192,768,6,6,24
-53,180,768,12000,6,1,31
-23,330,1000,3000,0,2,4
-30,300,1000,4000,8,3,64
-73,300,1000,16000,8,2,112
-20,330,1000,2000,0,1,2
-25,330,1000,4000,0,3,6
-28,140,2000,4000,0,3,6
-29,140,2000,4000,0,4,8
-32,140,2000,4000,8,1,20
-175,140,2000,32000,32,1,20
-57,140,2000,8000,32,1,54
-181,140,2000,32000,32,1,54
-181,140,2000,32000,32,1,54
-32,140,2000,4000,8,1,20
-82,57,4000,16000,1,6,12
-171,57,4000,24000,64,12,16
-361,26,16000,32000,64,16,24
-350,26,16000,32000,64,8,24
-220,26,8000,32000,0,8,24
-113,26,8000,16000,0,8,16
-15,480,96,512,0,1,1
-21,203,1000,2000,0,1,5
-35,115,512,6000,16,1,6
-18,1100,512,1500,0,1,1
-20,1100,768,2000,0,1,1
-20,600,768,2000,0,1,1
-28,400,2000,4000,0,1,1
-45,400,4000,8000,0,1,1
-18,900,1000,1000,0,1,2
-17,900,512,1000,0,1,2
-26,900,1000,4000,4,1,2
-28,900,1000,4000,8,1,2
-28,900,2000,4000,0,3,6
-31,225,2000,4000,8,3,6
-31,225,2000,4000,8,3,6
-42,180,2000,8000,8,1,6
-76,185,2000,16000,16,1,6
-76,180,2000,16000,16,1,6
-26,225,1000,4000,2,3,6
-59,25,2000,12000,8,1,4
-65,25,2000,12000,16,3,5
-101,17,4000,16000,8,6,12
-116,17,4000,16000,32,6,12
-18,1500,768,1000,0,0,0
-20,1500,768,2000,0,0,0
-20,800,768,2000,0,0,0
-30,50,2000,4000,0,3,6
-44,50,2000,8000,8,3,6
-44,50,2000,8000,8,1,6
-82,50,2000,16000,24,1,6
-82,50,2000,16000,24,1,6
-128,50,8000,16000,48,1,10
-37,100,1000,8000,0,2,6
-46,100,1000,8000,24,2,6
-46,100,1000,8000,24,3,6
-80,50,2000,16000,12,3,16
-88,50,2000,16000,24,6,16
-88,50,2000,16000,24,6,16
-33,150,512,4000,0,8,128
-46,115,2000,8000,16,1,3
-29,115,2000,4000,2,1,5
-53,92,2000,8000,32,1,6
-53,92,2000,8000,32,1,6
-41,92,2000,8000,4,1,6
-86,75,4000,16000,16,1,6
-95,60,4000,16000,32,1,6
-107,60,2000,16000,64,5,8
-117,60,4000,16000,64,5,8
-119,50,4000,16000,64,5,10
-120,72,4000,16000,64,8,16
-48,72,2000,8000,16,6,8
-126,40,8000,16000,32,8,16
-266,40,8000,32000,64,8,24
-270,35,8000,32000,64,8,24
-426,38,16000,32000,128,16,32
-151,48,4000,24000,32,8,24
-267,38,8000,32000,64,8,24
-603,30,16000,32000,256,16,24
-19,112,1000,1000,0,1,4
-21,84,1000,2000,0,1,6
-26,56,1000,4000,0,1,6
-35,56,2000,6000,0,1,8
-41,56,2000,8000,0,1,8
-47,56,4000,8000,0,1,8
-62,56,4000,12000,0,1,8
-78,56,4000,16000,0,1,8
-80,38,4000,8000,32,16,32
-80,38,4000,8000,32,16,32
-142,38,8000,16000,64,4,8
-281,38,8000,24000,160,4,8
-190,38,4000,16000,128,16,32
-21,200,1000,2000,0,1,2
-25,200,1000,4000,0,1,4
-67,200,2000,8000,64,1,5
-24,250,512,4000,0,1,7
-24,250,512,4000,0,4,7
-64,250,1000,16000,1,1,8
-25,160,512,4000,2,1,5
-20,160,512,2000,2,3,8
-29,160,1000,4000,8,1,14
-43,160,1000,8000,16,1,14
-53,160,2000,8000,32,1,13
-19,240,512,1000,8,1,3
-22,240,512,2000,8,1,5
-31,105,2000,4000,8,3,8
-41,105,2000,6000,16,6,16
-47,105,2000,8000,16,4,14
-99,52,4000,16000,32,4,12
-67,70,4000,12000,8,6,8
-81,59,4000,12000,32,6,12
-149,59,8000,16000,64,12,24
-183,26,8000,24000,32,8,16
-275,26,8000,32000,64,12,16
-382,26,8000,32000,128,24,32
-56,116,2000,8000,32,5,28
-182,50,2000,32000,24,6,26
-227,50,2000,32000,48,26,52
-341,50,2000,32000,112,52,104
-360,50,4000,32000,112,52,104
-919,30,8000,64000,96,12,176
-978,30,8000,64000,128,12,176
-24,180,262,4000,0,1,3
-24,180,512,4000,0,1,3
-24,180,262,4000,0,1,3
-24,180,512,4000,0,1,3
-37,124,1000,8000,0,1,8
-50,98,1000,8000,32,2,8
-41,125,2000,8000,0,2,14
-47,480,512,8000,32,0,0
-25,480,1000,4000,0,0,0
http://git-wip-us.apache.org/repos/asf/ignite/blob/43a62cdb/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/iris.txt
----------------------------------------------------------------------
diff --git a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/iris.txt b/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/iris.txt
deleted file mode 100644
index 18f5f7c..0000000
--- a/examples/src/main/ml/org/apache/ignite/examples/ml/knn/datasets/iris.txt
+++ /dev/null
@@ -1,150 +0,0 @@
-1.0 5.1 3.5 1.4 0.2
-1.0 4.9 3.0 1.4 0.2
-1.0 4.7 3.2 1.3 0.2
-1.0 4.6 3.1 1.5 0.2
-1.0 5.0 3.6 1.4 0.2
-1.0 5.4 3.9 1.7 0.4
-1.0 4.6 3.4 1.4 0.3
-1.0 5.0 3.4 1.5 0.2
-1.0 4.4 2.9 1.4 0.2
-1.0 4.9 3.1 1.5 0.1
-1.0 5.4 3.7 1.5 0.2
-1.0 4.8 3.4 1.6 0.2
-1.0 4.8 3.0 1.4 0.1
-1.0 4.3 3.0 1.1 0.1
-1.0 5.8 4.0 1.2 0.2
-1.0 5.7 4.4 1.5 0.4
-1.0 5.4 3.9 1.3 0.4
-1.0 5.1 3.5 1.4 0.3
-1.0 5.7 3.8 1.7 0.3
-1.0 5.1 3.8 1.5 0.3
-1.0 5.4 3.4 1.7 0.2
-1.0 5.1 3.7 1.5 0.4
-1.0 4.6 3.6 1.0 0.2
-1.0 5.1 3.3 1.7 0.5
-1.0 4.8 3.4 1.9 0.2
-1.0 5.0 3.0 1.6 0.2
-1.0 5.0 3.4 1.6 0.4
-1.0 5.2 3.5 1.5 0.2
-1.0 5.2 3.4 1.4 0.2
-1.0 4.7 3.2 1.6 0.2
-1.0 4.8 3.1 1.6 0.2
-1.0 5.4 3.4 1.5 0.4
-1.0 5.2 4.1 1.5 0.1
-1.0 5.5 4.2 1.4 0.2
-1.0 4.9 3.1 1.5 0.1
-1.0 5.0 3.2 1.2 0.2
-1.0 5.5 3.5 1.3 0.2
-1.0 4.9 3.1 1.5 0.1
-1.0 4.4 3.0 1.3 0.2
-1.0 5.1 3.4 1.5 0.2
-1.0 5.0 3.5 1.3 0.3
-1.0 4.5 2.3 1.3 0.3
-1.0 4.4 3.2 1.3 0.2
-1.0 5.0 3.5 1.6 0.6
-1.0 5.1 3.8 1.9 0.4
-1.0 4.8 3.0 1.4 0.3
-1.0 5.1 3.8 1.6 0.2
-1.0 4.6 3.2 1.4 0.2
-1.0 5.3 3.7 1.5 0.2
-1.0 5.0 3.3 1.4 0.2
-2.0 7.0 3.2 4.7 1.4
-2.0 6.4 3.2 4.5 1.5
-2.0 6.9 3.1 4.9 1.5
-2.0 5.5 2.3 4.0 1.3
-2.0 6.5 2.8 4.6 1.5
-2.0 5.7 2.8 4.5 1.3
-2.0 6.3 3.3 4.7 1.6
-2.0 4.9 2.4 3.3 1.0
-2.0 6.6 2.9 4.6 1.3
-2.0 5.2 2.7 3.9 1.4
-2.0 5.0 2.0 3.5 1.0
-2.0 5.9 3.0 4.2 1.5
-2.0 6.0 2.2 4.0 1.0
-2.0 6.1 2.9 4.7 1.4
-2.0 5.6 2.9 3.6 1.3
-2.0 6.7 3.1 4.4 1.4
-2.0 5.6 3.0 4.5 1.5
-2.0 5.8 2.7 4.1 1.0
-2.0 6.2 2.2 4.5 1.5
-2.0 5.6 2.5 3.9 1.1
-2.0 5.9 3.2 4.8 1.8
-2.0 6.1 2.8 4.0 1.3
-2.0 6.3 2.5 4.9 1.5
-2.0 6.1 2.8 4.7 1.2
-2.0 6.4 2.9 4.3 1.3
-2.0 6.6 3.0 4.4 1.4
-2.0 6.8 2.8 4.8 1.4
-2.0 6.7 3.0 5.0 1.7
-2.0 6.0 2.9 4.5 1.5
-2.0 5.7 2.6 3.5 1.0
-2.0 5.5 2.4 3.8 1.1
-2.0 5.5 2.4 3.7 1.0
-2.0 5.8 2.7 3.9 1.2
-2.0 6.0 2.7 5.1 1.6
-2.0 5.4 3.0 4.5 1.5
-2.0 6.0 3.4 4.5 1.6
-2.0 6.7 3.1 4.7 1.5
-2.0 6.3 2.3 4.4 1.3
-2.0 5.6 3.0 4.1 1.3
-2.0 5.5 2.5 4.0 1.3
-2.0 5.5 2.6 4.4 1.2
-2.0 6.1 3.0 4.6 1.4
-2.0 5.8 2.6 4.0 1.2
-2.0 5.0 2.3 3.3 1.0
-2.0 5.6 2.7 4.2 1.3
-2.0 5.7 3.0 4.2 1.2
-2.0 5.7 2.9 4.2 1.3
-2.0 6.2 2.9 4.3 1.3
-2.0 5.1 2.5 3.0 1.1
-2.0 5.7 2.8 4.1 1.3
-3.0 6.3 3.3 6.0 2.5
-3.0 5.8 2.7 5.1 1.9
-3.0 7.1 3.0 5.9 2.1
-3.0 6.3 2.9 5.6 1.8
-3.0 6.5 3.0 5.8 2.2
-3.0 7.6 3.0 6.6 2.1
-3.0 4.9 2.5 4.5 1.7
-3.0 7.3 2.9 6.3 1.8
-3.0 6.7 2.5 5.8 1.8
-3.0 7.2 3.6 6.1 2.5
-3.0 6.5 3.2 5.1 2.0
-3.0 6.4 2.7 5.3 1.9
-3.0 6.8 3.0 5.5 2.1
-3.0 5.7 2.5 5.0 2.0
-3.0 5.8 2.8 5.1 2.4
-3.0 6.4 3.2 5.3 2.3
-3.0 6.5 3.0 5.5 1.8
-3.0 7.7 3.8 6.7 2.2
-3.0 7.7 2.6 6.9 2.3
-3.0 6.0 2.2 5.0 1.5
-3.0 6.9 3.2 5.7 2.3
-3.0 5.6 2.8 4.9 2.0
-3.0 7.7 2.8 6.7 2.0
-3.0 6.3 2.7 4.9 1.8
-3.0 6.7 3.3 5.7 2.1
-3.0 7.2 3.2 6.0 1.8
-3.0 6.2 2.8 4.8 1.8
-3.0 6.1 3.0 4.9 1.8
-3.0 6.4 2.8 5.6 2.1
-3.0 7.2 3.0 5.8 1.6
-3.0 7.4 2.8 6.1 1.9
-3.0 7.9 3.8 6.4 2.0
-3.0 6.4 2.8 5.6 2.2
-3.0 6.3 2.8 5.1 1.5
-3.0 6.1 2.6 5.6 1.4
-3.0 7.7 3.0 6.1 2.3
-3.0 6.3 3.4 5.6 2.4
-3.0 6.4 3.1 5.5 1.8
-3.0 6.0 3.0 4.8 1.8
-3.0 6.9 3.1 5.4 2.1
-3.0 6.7 3.1 5.6 2.4
-3.0 6.9 3.1 5.1 2.3
-3.0 5.8 2.7 5.1 1.9
-3.0 6.8 3.2 5.9 2.3
-3.0 6.7 3.3 5.7 2.5
-3.0 6.7 3.0 5.2 2.3
-3.0 6.3 2.5 5.0 1.9
-3.0 6.5 3.0 5.2 2.0
-3.0 6.2 3.4 5.4 2.3
-3.0 5.9 3.0 5.1 1.8
|