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>";