sortByKey와 같은 함수를 호출 할 수있는 컬렉션의 데이터 유형을 이해하는 데 문제가 있습니다. 나는 ListMap (sortByKey를 호출하려고하는 요소를 순서대로 저장하는 데이터 구조를 원한다.)을 가지고있다. 목록 맵의 내용은 키로 처음 n 개의 숫자와 각각의 값으로 1입니다. 목록 맵 대신 무엇을 사용해야합니까?spark에서 OrderedRDD 함수 사용
val l = (1 to 1000).toList
val d = ListMap(l.map(s=> s -> 1):_*)
val rdd = sc.parallelize(Seq(d))
rdd.collect()
val sorted = rdd.sortByKey()
sorted.collect()
정렬 기능에 대한 입력이 이미 정렬되도록 키가 정렬되도록하려면 ListMap 원인을 사용하고 있습니다. 이 rdd가 정렬 함수에 전달 될 때 정렬되도록하려면 어떻게해야합니까? – user1745995
@user 왜 정렬 된 것을 정렬하고 싶습니까? 따라 와야할지 모르겠다. –
데이터가 네트워크를 통해 이동하기를 원할 때 셔플 읽기 및 셔플 쓰기가 필요합니다. 그러나 나는 실제 정렬을하는 데 시간을 투자하지 않기를 바란다. (사실, 나의 최종 데이터가 정렬되지 않는다면 나는 상관하지 않는다.) 내가 이해하는 것으로부터, spark는 정렬 된 데이터에 대해 O (n) 런타임을 제공하는 tim sort를 사용하므로 정렬하려고하는 데이터를 정렬하려고합니다. – user1745995