用Java编写:创建一个RDD(由字符串组成)list["xiaoli","liaoli","laowang","xiaocang","xiaojing","xiaokong"],过滤出一个新RDD(包含"xiao"子串)。
时间: 2023-09-04 21:09:35 浏览: 81
可以使用 Spark 的 Java API 来实现这个需求:
```java
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import java.util.Arrays;
import java.util.List;
public class RDDFilterExample {
public static void main(String[] args) {
// 初始化Spark配置
SparkConf conf = new SparkConf().setAppName("RDD Filter Example").setMaster("local[*]");
JavaSparkContext sc = new JavaSparkContext(conf);
// 创建一个包含字符串的RDD
List<String> list = Arrays.asList("xiaoli", "liaoli", "laowang", "xiaocang", "xiaojing", "xiaokong");
JavaRDD<String> rdd = sc.parallelize(list);
// 过滤出包含"xiao"子串的新RDD
JavaRDD<String> filteredRDD = rdd.filter(s -> s.contains("xiao"));
// 输出结果
filteredRDD.foreach(System.out::println);
// 停止SparkContext
sc.stop();
}
}
```
这个程序首先创建了一个包含字符串的 RDD,然后使用 `filter` 函数过滤出包含 "xiao" 子串的新 RDD,并输出结果。可以使用 `foreach` 函数遍历 RDD 中的元素并输出。最后,程序停止 SparkContext。
阅读全文