0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 package org.apache.spark.examples.mllib;
0019
0020 import java.util.Arrays;
0021
0022 import scala.Tuple3;
0023
0024 import org.apache.spark.SparkConf;
0025 import org.apache.spark.api.java.JavaRDD;
0026 import org.apache.spark.api.java.JavaSparkContext;
0027
0028 import org.apache.spark.mllib.clustering.PowerIterationClustering;
0029 import org.apache.spark.mllib.clustering.PowerIterationClusteringModel;
0030
0031
0032
0033
0034
0035 public class JavaPowerIterationClusteringExample {
0036 public static void main(String[] args) {
0037 SparkConf sparkConf = new SparkConf().setAppName("JavaPowerIterationClusteringExample");
0038 JavaSparkContext sc = new JavaSparkContext(sparkConf);
0039
0040 @SuppressWarnings("unchecked")
0041
0042 JavaRDD<Tuple3<Long, Long, Double>> similarities = sc.parallelize(Arrays.asList(
0043 new Tuple3<>(0L, 1L, 0.9),
0044 new Tuple3<>(1L, 2L, 0.9),
0045 new Tuple3<>(2L, 3L, 0.9),
0046 new Tuple3<>(3L, 4L, 0.1),
0047 new Tuple3<>(4L, 5L, 0.9)));
0048
0049 PowerIterationClustering pic = new PowerIterationClustering()
0050 .setK(2)
0051 .setMaxIterations(10);
0052 PowerIterationClusteringModel model = pic.run(similarities);
0053
0054 for (PowerIterationClustering.Assignment a: model.assignments().toJavaRDD().collect()) {
0055 System.out.println(a.id() + " -> " + a.cluster());
0056 }
0057
0058
0059 sc.stop();
0060 }
0061 }