Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中从Spark数据集中获取唯一单词_Java_Apache Spark_Apache Spark Sql_Spark Dataframe - Fatal编程技术网

在Java中从Spark数据集中获取唯一单词

在Java中从Spark数据集中获取唯一单词,java,apache-spark,apache-spark-sql,spark-dataframe,Java,Apache Spark,Apache Spark Sql,Spark Dataframe,我正在使用ApacheSpark2标记一些文本 Dataset<Row> regexTokenized = regexTokenizer.transform(data); 现在,我想得到所有独特的词语。我尝试了几个过滤器、flatMap、map函数和reduce。我不明白这一点,因为我是Spark的新手。我来自scala,但我相信Java中也有类似的方式 我认为在这种情况下,您必须使用explode方法,以便将数据转换为单词的数据集 此代码应提供所需的结果: import org.

我正在使用ApacheSpark2标记一些文本

Dataset<Row> regexTokenized = regexTokenizer.transform(data);

现在,我想得到所有独特的词语。我尝试了几个过滤器、flatMap、map函数和reduce。我不明白这一点,因为我是Spark的新手。

我来自scala,但我相信Java中也有类似的方式

我认为在这种情况下,您必须使用
explode
方法,以便将数据转换为单词的
数据集

此代码应提供所需的结果:

import org.apache.spark.sql.functions.explode
val dsWords = regexTokenized.select(explode("words"))
val dsUniqueWords = dsWords.distinct()
有关分解方法的信息,请参阅


希望有帮助。

我来自scala,但我相信Java中也有类似的方法

我认为在这种情况下,您必须使用
explode
方法,以便将数据转换为单词的
数据集

此代码应提供所需的结果:

import org.apache.spark.sql.functions.explode
val dsWords = regexTokenized.select(explode("words"))
val dsUniqueWords = dsWords.distinct()
有关分解方法的信息,请参阅


希望能有所帮助。

基于@Haroun Mohammedi的答案,我能够用Java来解决这个问题

Dataset<Row> uniqueWords = regexTokenized.select(explode(regexTokenized.col("words"))).distinct();
uniqueWords.show();
Dataset uniqueWords=regexTokenized.select(explode(regexTokenized.col(“words”)).distinct();
uniqueWords.show();

基于@Haroun Mohammedi的回答,我能够用Java解决这个问题

Dataset<Row> uniqueWords = regexTokenized.select(explode(regexTokenized.col("words"))).distinct();
uniqueWords.show();
Dataset uniqueWords=regexTokenized.select(explode(regexTokenized.col(“words”)).distinct();
uniqueWords.show();