我想从一个目录中读取多个文本文档以进行文档聚类。为此,我想将数据读取为:
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");
在这里,我不想使用
JavaPairRDD data = context.wholeTextFiles(path); 因为我想要 Dataset 作为返回类型。
在 Scala 中,你可以这样写:
context.wholeTextFiles("...").toDS()
在 Java 中,您需要使用编码器。有关更多详细信息,请参阅javadoc。
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();
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句