Я пытаюсь пройти через набор данных, чтобы выполнить некоторые вычисления сходства строк, такие как Яро Винклер или Косинусное сходство. Я конвертирую свой набор данных в список строк, а затем перехожу с помощью оператора for, который не является эффективным способом сделать это. Так что я с нетерпением жду лучшего подхода в Spark.
public class sample {
public static void main(String[] args) {
JavaSparkContext sc = new JavaSparkContext(new SparkConf().setAppName("Example").setMaster("local[*]"));
SQLContext sqlContext = new SQLContext(sc);
SparkSession spark = SparkSession.builder().appName("JavaTokenizerExample").getOrCreate();
List<Row> data = Arrays.asList(RowFactory.create("Mysore","Mysuru"),
RowFactory.create("Name","FirstName"));
StructType schema = new StructType(
new StructField[] { new StructField("Word1", DataTypes.StringType, true, Metadata.empty()),
new StructField("Word2", DataTypes.StringType, true, Metadata.empty()) });
Dataset<Row> oldDF = spark.createDataFrame(data, schema);
oldDF.show();
List<Row> rowslist = oldDF.collectAsList();
}
}
Я нашел много примеров JavaRDD, которые мне непонятны. Пример набора данных мне очень поможет.