(编程题)给定一个元素为字符串类型的RDD,统计其中每个字符串的长度,并将结果按照长度从小到大排序输出。
时间: 2024-02-24 13:58:38 浏览: 146
python 计算字符串长度。(示例)
以下是Scala语言的实现代码:
```scala
val rdd = sc.parallelize(Seq("hello", "world", "spark", "scala", "java", "python"))
val counts = rdd.map(str => (str.length, str)).sortByKey().map(tuple => (tuple._2, tuple._1))
counts.foreach(println)
```
首先,我们创建一个元素为字符串类型的RDD。然后,使用map操作将每个字符串映射为一个以字符串长度为key、字符串本身为value的元组。接着,使用sortByKey操作按照key(即字符串长度)从小到大排序。最后,使用map操作将元组中的key和value交换位置,输出结果即可。
输出结果如下所示:
```
(java,4)
(scala,5)
(python,6)
(spark,5)
(world,5)
(hello,5)
```
注意,这里的输出结果是按照字符串长度从小到大排序的。如果需要按照长度从大到小排序,只需要将sortByKey操作改为sortByKey(false)即可。
阅读全文