Java 如何在Spark中读取多个文本文件以进行文档聚类?

Java 如何在Spark中读取多个文本文件以进行文档聚类?,java,apache-spark,machine-learning,nlp,hierarchical-clustering,Java,Apache Spark,Machine Learning,Nlp,Hierarchical Clustering,我想从一个目录中读取多个文本文档以进行文档聚类。 为此,我希望将数据读取为: SparkConf sparkConf = new SparkConf().setAppName(appName).setMaster("local[*]").set("spark.executor.memory", "2g"); JavaSparkContext context = new JavaSparkContext(sparkConf); SparkSession spark = SparkSession.b

我想从一个目录中读取多个文本文档以进行文档聚类。 为此,我希望将数据读取为:

SparkConf sparkConf = new SparkConf().setAppName(appName).setMaster("local[*]").set("spark.executor.memory", "2g");
JavaSparkContext context = new JavaSparkContext(sparkConf);
SparkSession spark = SparkSession.builder().config(sparkConf).getOrCreate();
Dataset<Row> dataset = spark.read().textFile("path to directory");
SparkConf SparkConf=new SparkConf();
JavaSparkContext上下文=新的JavaSparkContext(sparkConf);
SparkSession spark=SparkSession.builder().config(sparkConf.getOrCreate();
Dataset Dataset=spark.read().textFile(“目录路径”);
在这里,我不想使用
javapairdd data=context.wholeTextFiles(路径);
因为我想要数据集作为返回类型。

在scala中,您可以编写以下内容:

context.wholeTextFiles("...").toDS()
在java中,您需要使用编码器。看

javapairdd rdd=context.wholeTextFiles(“hdfs:///tmp/test_read");
编码器编码器=Encoders.tuple(Encoders.STRING(),Encoders.STRING());
createDataset(rdd.rdd(),encoder.show();
JavaPairRDD<String, String> rdd = context.wholeTextFiles("hdfs:///tmp/test_read");
Encoder<Tuple2<String, String>> encoder = Encoders.tuple(Encoders.STRING(), Encoders.STRING());
spark.createDataset(rdd.rdd(), encoder).show();