에 - 나는 MAP{Hour,MAP{ID,Ratio}}
같은 구조하는 RDD로 저장할이 방법 중첩 된지도 RDD의 내가 같은 텍스트 파일이 불꽃
ID,Hour,Ratio
100775,0.0,1.0
100775,1.0,1.0560344797302321
100775,2.0,1.1333317975785973
100775,3.0,1.1886133302168074
100776,4.0,1.2824427440125867
. 가장 가까운 구조는 JavaPairRDD입니다. 나는 JavaPairRDD{Hour,MAP{ID,Ratio}}
같은 구조를 구현하는, 그러나,이 구조는 내가 본질적으로 가장이를 얻는 방법에 대한 모든 포인터
ratio = MAP.get(Hour).get(ID)
을 원하는대로, 내 사용 사례가 해결되지 LIST{MAP{ID,RATIO}}
을 반환 lookup()
기능을 제공 노력 끝난.
UPDATE : - :
JavaRDD<Map<String,Map<String,String>>> mapRDD = data.map(line -> line.split(",")).map(array-> Collections
.singletonMap(array[0],
Collections
.singletonMap
(array[1],array[2])));
그러나, 여기에 사용 가능한 기능과 같은 더 조회()이없는, 정확한 -
는 라 메쉬의 대답 후, 나는 다음과 같은 시도?
도움이 되긴하지만지도를 반환하지만 RDD를 반환하고 싶습니다. – Sanchay
나는 rdd 응답도 포함시켰다. :) –
수집을 사용했기 때문에 혼란스러워했습니다. 당신이 수집을 사용하지 않는다면, 당신은'scala> val으로 rdd를 얻는다. rddMaps = rdd.map (line => line.split (",")). map (array => Map (array (1) -> Map 배열 (0) -> 배열 (2)))) rddMaps : org.apache.spark.rdd.RDD [scala.collection.immutable.Map [String, String]]] = MapPartitionsRDD [17] at map : 26' –