현재 Apache Spark 및 Apache Flink에서 일부 알고리즘을 구현하려고합니다. 알고리즘을 실행할 때, 나는 어떤 종류의 차 집합/차감 연산을해야만한다.Apache Flink DataSet 차이/빼기 작업
Apache Spark에 대해 subtract
조작이 내장되어 있지만 Apache Flink (1.0.3 및 1.1.0-SNAPSHOT)에서 비슷한 것을 찾을 수 없습니다.
그래서 제 질문은, 즉 d1\d2
d1, d2
모두 동일한 유형 T
설정의 차이를 적용 할 수있는 가장 효율적인 방법이 무엇인가를 포함하는 객체 두 데이터 집합 주어진?
val d1: DataSet[T] = ...
val d2: DataSet[T] = ...
val d_diff: DataSet[T] = ???
아마 coGroup
val d_diff = d1.coGroup(d2).where(0).equalTo(0) {
(l, r, out: Collector[T]) => {
val rightElements = r.toSet
for (el <- l)
if (!rightElements.contains(el)) out.collect(el)
}
}
을 통해 몇 가지 방법이 있지만, 그게 정확하고 모범 사례 나 사람이 좀 더 효율적으로 알고 않는지 궁금하네요?