내가 RDD 데이터 세트 아래에있는에 따라 스파크 RDD를 주문하는 방법 :두 개의 열
ABC [G4, G3, G1] 3
FFF [G5, G4, G3] 3
CDE [G5,G4,G3,G2] 4
XYZ [G4, G3] 2
하는 마지막 COL은 주먹 튜플 항목 내림차순 순서에 의해 순서 같은 경우, 첫 번째 마지막 열 내림차순으로 정렬 할 필요 . 예상 결과는
CDE [G5,G4,G3,G2] 4
FFF [G5, G4, G3] 3
ABC [G4, G3, G1] 3
XYZ [G4, G3] 2
입니다. 미리 감사드립니다. (배열이다) 번째 열의 첫 번째 요소 위에서
rdd.sortBy(r => (r._3, r._2(0)), false)
마지막 열의 r._3
스탠드 r._2(0)
, 그리고 false
그 순서해야 지정
Mtoto, 시도했지만 결과가 예상대로 정확하지 않습니다. (CDE \t [\t G5, \t G4, \t G3, \t G2], 4) (ABC \t [\t G4, \t G3, \t G1, 3) (FFF \t [\t G5, \t G4, G3], 3) (XYZ \t, [\t G4, \t G2], 2). 그것은 마지막 열 desc에 의해 순서는 바르게 정렬되지만 배열의 첫 번째 항목에서는 올바르지 않습니다. –
안녕하세요, Phoenix/Mtoto, 도움을 주셔서 감사합니다. 나는 스파크에서 정말로 새로운 사람이다. 나는 이것이 다른 과정의 결과라고 제대로 설명했다고 생각합니다. 나는 또 다른 물줄기를 열었다. 아래의 링크를 통해 나를 도와주십시오 : http://stackoverflow.com/questions/41681804/how-to-order-rdd-with-two-columns. 도와 주셔서 감사합니다. –
당신이해야 할 일은 데이터 세트의 재현 가능한 예를 공유하는 것입니다. 링크 된 새로운 질문은 본질적으로이 질문과 같습니다. 문제는 아마도 두 번째 열이 긴 문자열 일 것입니다. 먼저 배열로 변환해야합니다. 그러면 위의 코드가 작동합니다. – mtoto