[SCALA] 어떻게 요소의 액세스 스파크 RDD 배열에 인덱스를 기반으로
SCALA어떻게 요소의 액세스 스파크 RDD 배열에 인덱스를 기반으로
각 튜플 요소로 취급 할 수 I는 다음과 같은 요소들의 어레이와 RDD 있고, 지금 상담자이 RDD 통해 액세스 만 넷째 처음 두 행 튜플 요소 .. 루프로 할 것이다
Array[(Int, String, String, Int)] = Array(
(1,Tom,AAA,2000), (2,Tim,AAA,3000),
(3,Mark,BBB,6000), (4,Jim,BBB,6000), (5,James,CCC,4000))
내가 먼저 테이크 tuple1 4 요소 (2000)와 tuple2 4 요소 (3000)를 원하는 어떤 조건을 실행 한 다음 동일하지만 지금은 RDD를 통해 튜플 2 튜플 3..basically의 루프를 할 ..
나는 스칼라에 문 루프와 경우에 쓸 수 있지만 매개 변수를 허용하지 않는 RDD 이후 RDD 위에 그것을 할 사람을 이해하지 않습니다.
감사는 어떤 도움을 주셔서 감사합니다. 그래서 여전히 학습을 촉발하는 새로운입니다.
해결법
-
==============================
1.대답은하지 않습니다 단순히. RDDs 인덱싱되지 않고, 값의 문맥 순서에 따라서 비 결정적 일 수있다.
대답은하지 않습니다 단순히. RDDs 인덱싱되지 않고, 값의 문맥 순서에 따라서 비 결정적 일 수있다.
지금까지 내가 당신이 원하는 것은 단순히지도와 슬라이딩 윈도우 이해로 :
import org.apache.spark.mllib.rdd.RDDFunctions._ // A dummy function def doSomething(xs: Array[Int]) = xs match { case Array(x1, x2) => if (x1 <= x2) x1 else x2 } val rdd = sc.parallelize(Array( (1, "Tom", "AAA", 2000), (2, "Tim", "AAA", 3000), (3, "Mark", "BBB", 6000), (4, "Jim", "BBB", 6000), (5, "James", "CCC", 4000))) rdd.map(_._4).sliding(2).map(doSomething)
물론 위의 값의 순서가 정의되어 있다고 가정 또는 다른 말로 조상 계보 단행 RDDs 포함되지 않습니다.
from https://stackoverflow.com/questions/33598541/how-to-access-spark-rdd-array-of-elements-based-on-index by cc-by-sa and MIT license
'SCALA' 카테고리의 다른 글
[SCALA] 아파치 스파크 :하지 않을 때는 mapPartition 및 foreachPartition를 사용하는? (0) | 2019.11.24 |
---|---|
[SCALA] JSON 파일이 아닌 폴더로 RDD 데이터를 저장하는 방법 (0) | 2019.11.24 |
[SCALA] 스칼라에서 소거를 입력 (0) | 2019.11.24 |
[SCALA] 왜 스칼라에서 def``와`var`을 무시하는 것은 불가능? (0) | 2019.11.24 |
[SCALA] 같은 발견하고 필요한 데이터 유형과 스파크에서 : "오류 형식이 일치하지 않습니다" (0) | 2019.11.24 |