在Java中,使用Apache Spark时,可以使用distinct()
方法来删除重复项,使用filter()
方法结合isNull()
函数来删除空值
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.SparkSession;
public class RemoveDuplicatesAndNulls {
public static void main(String[] args) {
SparkSession spark = SparkSession.builder()
.appName("Remove Duplicates and Nulls")
.master("local[*]")
.getOrCreate();
JavaSparkContext sc = new JavaSparkContext(spark.sparkContext());
// 创建一个包含重复项和空值的RDD
JavaRDD<String> data = sc.parallelize(Arrays.asList("A", "B", null, "A", "C", null, "D"));
// 删除重复项和空值并保留顺序
JavaRDD<String> result = data.distinct().filter(s -> s != null);
// 打印结果
result.collect().forEach(System.out::println);
spark.stop();
}
}
在这个例子中,我们首先创建了一个包含重复项和空值的JavaRDD
。然后,我们使用distinct()
方法删除重复项,接着使用filter()
方法结合isNull()
函数删除空值。最后,我们打印出结果。
领取专属 10元无门槛券
手把手带您无忧上云