scala 对List(“hello tom hello jerry”, “hello jerry”, “hello kitty”)进行单词计数
时间: 2024-04-16 12:23:25 浏览: 18
在Scala中,可以使用flatMap和groupBy函数对List中的字符串进行词计数。首先,我们需要将每个字符串拆分成单词,并将它们扁平化为一个列表。然后,我们可以使用groupBy函数按照单词进行分组,并计算每个单词的数量。
下面是一个示例代码:
```scala
val list = List("hello tom hello jerry", "hello jerry", "hello kitty")
val wordCount = list
.flatMap(_.split(" ")) // 将每个字符串拆分成单词并扁平化
.groupBy(identity) // 按照单词进行分组
.mapValues(_.size) // 计算每个单词的数量
wordCount.foreach(println)
```
输出结果为:
```
(hello,3)
(tom,1)
(jerry,2)
(kitty,1)
```
相关问题
统计一个文件中单词出现的频率 hello scala hello spark hello world
以下是使用Spark统计文件中单词出现频率的方法:
1. 首先,使用Spark读取文件内容并将其拆分为单词:
```python
from pyspark import SparkContext
sc = SparkContext("local", "Word Count")
lines = sc.textFile("/path/to/file")
words = lines.flatMap(lambda line: line.split())
```
2. 接下来,将每个单词映射到一个键值对,其中键是单词本身,值为1:
```python
wordCounts = words.map(lambda word: (word, 1))
```
3. 然后,对每个键值对进行reduce操作,以计算每个单词的出现次数:
```python
wordCounts = wordCounts.reduceByKey(lambda x, y: x + y)
```
4. 最后,将结果保存到文件中:
```python
wordCounts.saveAsTextFile("/path/to/output")
```
完整代码如下:
```python
from pyspark import SparkContext
sc = SparkContext("local", "Word Count")
lines = sc.textFile("/path/to/file")
words = lines.flatMap(lambda line: line.split())
wordCounts = words.map(lambda word: (word, 1)).reduceByKey(lambda x, y: x + y)
wordCounts.saveAsTextFile("/path/to/output")
```
scala输出hello world
在 Scala 中,你可以使用以下代码输出 "Hello, World!":
```scala
object HelloWorld {
def main(args: Array[String]): Unit = {
println(", World!")
}
}
```
你可以将以上代码保存为一个名为HelloWorld.scala` 的文件,并在命令行中使用 `scala HelloWorld.scala` 来运行它。这将输出 "Hello, World!" 到控制台上。