2017-07-19 2 views

Antwort

2

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 
+0

Ich verwende Java-basierte APIs nicht die Scala – sathiyarajan

+0

Irgendwelche Unterschiede, die Sie bemerkt haben? Ich bin neugierig (aber zu faul, es selbst zu überprüfen). –

+0

Die Methode col (String) ist nicht definiert – sathiyarajan

Verwandte Themen