【发布时间】:2020-12-20 19:44:15
【问题描述】:
我有 2 个火花数据集: courseDS 和 latestLessonDS ;
这是我的 Spark 数据集 POJO:
Lesson class:
private List<SessionFilter> info;
private lessonId;
LatestLesson class:
private String id:
SessionFilter class:
private String id;
private String sessionName;
我想获取所有课程数据,其中 info.id 在课程课程中而不是在最新课程 id 中。
类似这样的:
lessonDS.filter(explode(col("info.id")).notEqual(latestLessonDS.col("value"))).show();
latestLessonDS contain:
100A
200C
300A
400A
lessonDS contain:
1,[[100A,jon],[200C,natalie]]
2,[[100A,jon]]
3,[[600A,jon],[400A,Kim]]
result:
3,[[600A,jon]
【问题讨论】:
-
lessonDS.filter(explode(col("info.id")).notEqual(latestLessonDS.col("value"))).show();这个陈述有点令人困惑......如果您正在寻找左侧不存在的所有 sessionId,那么您的最终结果应该看起来 3[[600A,jon]]
标签: dataframe apache-spark dataset