다음은 in_date 및 out_date 직원을 나타내는 샘플 데이터 세트입니다. 모든 직원의 마지막 in_time을 확보해야합니다.정렬 - 정렬을 통한 sortWithInPartitions
4 개의 노드 독립 실행 형 클러스터에서 Spark가 실행 중입니다.
초기 데이터 집합 :
직원 ID ----- 안양 후 in_date ----- out_date
1111111 2017-04-20 2017-09-14
1111111 2017-11-02 null
2222222 2017-09-26 2017-09-26
2222222 2017-11-28 null
3333333 2016-01-07 2016-01-20
3333333 2017-10-25 null
데이터 집합. 종류 (골 (in_date) .desc()) :
직원 ID - in_date ----- out_date
1111111 2017-11-02 null
1111111 2017-04-20 2017-09-14
2222222 2017-09-26 2017-09-26
2222222 2017-11-28 null
3333333 2017-10-25 null
3333333 2016-01-07 2016-01-20
df.dropDup (직원 ID) :
출력 :
직원 ID ----- in_date ----- out_date
1111111 2017-11-02 null
2222222 2017-09-26 2017-09-26
3333333 2016-01-07 2016-01-20
예상 데이터 집합 :
직원 ID ----- in_date ----- out_date
1111111 2017-11-02 null
2222222 2017-11-28 null
3333333 2017-10-25 null
하지만 때 내가 sortWithInPartitions
에 초기 데이터 집합을 분류하고 내가 예상 데이터 집합을 가지고 deduped. 크고 작은 것이 없습니다. 어떤 도움을 주셔서 감사합니다.
추가 정보 : 로컬 모드에서 spark를 사용하여 df.sort를 실행했을 때 예상되는 출력이 달성되었습니다.
나는 어떤 종류의 파티션도하지 않았으며, 파티션을 다시 나누었다. 초기 데이터 세트는 기본 Cassandra 데이터베이스에서 가져옵니다.