You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flink.apache.org by al...@apache.org on 2015/06/10 14:27:17 UTC

flink git commit: [hotfix] Bring KMeansDataGenerator and KMeans quickstart in sync

Repository: flink
Updated Branches:
  refs/heads/master c04a57528 -> b5b71e1c4


[hotfix] Bring KMeansDataGenerator and KMeans quickstart in sync


Project: http://git-wip-us.apache.org/repos/asf/flink/repo
Commit: http://git-wip-us.apache.org/repos/asf/flink/commit/b5b71e1c
Tree: http://git-wip-us.apache.org/repos/asf/flink/tree/b5b71e1c
Diff: http://git-wip-us.apache.org/repos/asf/flink/diff/b5b71e1c

Branch: refs/heads/master
Commit: b5b71e1c46f0ea21b2a9902fa82c1ad87396bac6
Parents: c04a575
Author: Aljoscha Krettek <al...@gmail.com>
Authored: Wed Jun 10 10:59:42 2015 +0200
Committer: Aljoscha Krettek <al...@gmail.com>
Committed: Wed Jun 10 14:26:42 2015 +0200

----------------------------------------------------------------------
 docs/quickstart/run_example_quickstart.md         | 10 +++++-----
 .../java/clustering/util/KMeansDataGenerator.java | 18 +++++++++++-------
 .../flink/api/java/utils/ParameterTool.java       |  2 ++
 3 files changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flink/blob/b5b71e1c/docs/quickstart/run_example_quickstart.md
----------------------------------------------------------------------
diff --git a/docs/quickstart/run_example_quickstart.md b/docs/quickstart/run_example_quickstart.md
index 2c076d8..b7f21c4 100644
--- a/docs/quickstart/run_example_quickstart.md
+++ b/docs/quickstart/run_example_quickstart.md
@@ -36,15 +36,15 @@ Flink contains a data generator for K-Means.
 mkdir kmeans
 cd kmeans
 # Run data generator
-java -cp ../examples/flink-java-examples-*-KMeans.jar org.apache.flink.examples.java.clustering.util.KMeansDataGenerator 500 10 0.08
-cp /tmp/points .
-cp /tmp/centers .
+java -cp ../examples/flink-java-examples-{{ site.version }}-KMeans.jar:../lib/flink-dist-{{ site.version }}.jar \
+  org.apache.flink.examples.java.clustering.util.KMeansDataGenerator \
+  -points 500 -k 10 -stddev 0.08 -output `pwd`
 ~~~
 
-The generator has the following arguments:
+The generator has the following arguments (arguments in `[]` are optional):
 
 ~~~bash
-KMeansDataGenerator <numberOfDataPoints> <numberOfClusterCenters> [<relative stddev>] [<centroid range>] [<seed>]
+-points <num> -k <num clusters> [-output <output-path>] [-stddev <relative stddev>] [-range <centroid range>] [-seed <seed>]
 ~~~
 
 The _relative standard deviation_ is an interesting tuning parameter. It determines the closeness of the points to randomly generated centers.

http://git-wip-us.apache.org/repos/asf/flink/blob/b5b71e1c/flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/clustering/util/KMeansDataGenerator.java
----------------------------------------------------------------------
diff --git a/flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/clustering/util/KMeansDataGenerator.java b/flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/clustering/util/KMeansDataGenerator.java
index 2cb7457..8f44034 100644
--- a/flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/clustering/util/KMeansDataGenerator.java
+++ b/flink-examples/flink-java-examples/src/main/java/org/apache/flink/examples/java/clustering/util/KMeansDataGenerator.java
@@ -27,6 +27,7 @@ import java.text.DecimalFormat;
 import java.util.Locale;
 import java.util.Random;
 
+import org.apache.flink.api.java.utils.ParameterTool;
 import org.apache.flink.examples.java.clustering.KMeans;
 
 /**
@@ -70,17 +71,20 @@ public class KMeansDataGenerator {
 
 		// check parameter count
 		if (args.length < 2) {
-			System.out.println("KMeansDataGenerator <numberOfDataPoints> <numberOfClusterCenters> [<output-path>] [<relative stddev>] [<centroid range>] [<seed>]");
+			System.out.println("KMeansDataGenerator -points <num> -k <num clusters> [-output <output-path>] [-stddev <relative stddev>] [-range <centroid range>] [-seed <seed>]");
 			System.exit(1);
 		}
 
 		// parse parameters
-		final int numDataPoints = Integer.parseInt(args[0]);
-		final int k = Integer.parseInt(args[1]);
-		final String outDir = args.length > 2 ? args[2] : System.getProperty("java.io.tmpdir");
-		final double stddev = args.length > 3 ? Double.parseDouble(args[3]) : RELATIVE_STDDEV;
-		final double range = args.length > 4 ? Double.parseDouble(args[4]) : DEFAULT_VALUE_RANGE;
-		final long firstSeed = args.length > 5 ? Long.parseLong(args[5]) : DEFAULT_SEED;
+
+		final ParameterTool params = ParameterTool.fromArgs(args);
+		final int numDataPoints = params.getInt("points");
+		final int k = params.getInt("k");
+		final String outDir = params.get("output", System.getProperty("java.io.tmpdir"));
+		final double stddev = params.getDouble("stddev", RELATIVE_STDDEV);
+		final double range = params.getDouble("range", DEFAULT_VALUE_RANGE);
+		final long firstSeed = params.getLong("seed", DEFAULT_SEED);
+
 		
 		final double absoluteStdDev = stddev * range;
 		final Random random = new Random(firstSeed);

http://git-wip-us.apache.org/repos/asf/flink/blob/b5b71e1c/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java
----------------------------------------------------------------------
diff --git a/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java b/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java
index d1c1f49..e7e5195 100644
--- a/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java
+++ b/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java
@@ -34,6 +34,8 @@ import java.util.Map;
 import java.util.Properties;
 
 public class ParameterTool extends ExecutionConfig.GlobalJobParameters implements Serializable, Cloneable {
+	private static final long serialVersionUID = 1L;
+
 	protected static String NO_VALUE_KEY = "__NO_VALUE_KEY";
 	protected static String DEFAULT_UNDEFINED = "<undefined>";