Das ist eine der Lösungen (und wahrscheinlich nicht die effektivste).
// using col function as the OP uses Java not Scala...unfortunatelly
import org.apache.spark.sql.functions.col
val q = spark.
read.
text("README.md").
filter(length(col("value")) > 0).
withColumn("words", split(col("value"), "\\s+")).
select(explode(col("words")) as "word").
groupBy("word").
count.
orderBy(col("count").desc)
scala> q.show
+---------+-----+
| word|count|
+---------+-----+
| the| 24|
| to| 17|
| Spark| 16|
| for| 12|
| and| 9|
| ##| 9|
| | 8|
| a| 8|
| on| 7|
| can| 7|
| run| 7|
| in| 6|
| is| 6|
| of| 5|
| using| 5|
| you| 4|
| an| 4|
| build| 4|
|including| 4|
| with| 4|
+---------+-----+
only showing top 20 rows
Ich verwende Java-basierte APIs nicht die Scala – sathiyarajan
Irgendwelche Unterschiede, die Sie bemerkt haben? Ich bin neugierig (aber zu faul, es selbst zu überprüfen). –
Die Methode col (String) ist nicht definiert – sathiyarajan