두 개의 다른 RDD
의 데이터 세트를 연결하는 방법이 있습니까?아파치 스파크에서 서로 다른 RDD의 데이터 세트를 스칼라로 연결하기
요구 사항 - 같은 열 이름을 가진 스칼라를 사용하여 두 개의 중간 RDD를 만들고 두 RDD의 결과를 결합하여 UI에 액세스하기위한 결과를 캐시해야합니다. 어떻게 데이터 세트를 여기에 결합합니까?
RDDs 유형 spark.sql.SchemaRDD
두 개의 다른 RDD
의 데이터 세트를 연결하는 방법이 있습니까?아파치 스파크에서 서로 다른 RDD의 데이터 세트를 스칼라로 연결하기
요구 사항 - 같은 열 이름을 가진 스칼라를 사용하여 두 개의 중간 RDD를 만들고 두 RDD의 결과를 결합하여 UI에 액세스하기위한 결과를 캐시해야합니다. 어떻게 데이터 세트를 여기에 결합합니까?
RDDs 유형 spark.sql.SchemaRDD
난 당신이 (스파크 쉘에) RDD.union
val rddPart1 = ???
val rddPart2 = ???
val rddAll = rddPart1.union(rddPart2)
예를 찾고 생각
val rdd1 = sc.parallelize(Seq((1, "Aug", 30),(1, "Sep", 31),(2, "Aug", 15),(2, "Sep", 10)))
val rdd2 = sc.parallelize(Seq((1, "Oct", 10),(1, "Nov", 12),(2, "Oct", 5),(2, "Nov", 15)))
rdd1.union(rdd2).collect
res0: Array[(Int, String, Int)] = Array((1,Aug,30), (1,Sep,31), (2,Aug,15), (2,Sep,10), (1,Oct,10), (1,Nov,12), (2,Oct,5), (2,Nov,15))
저도 같은 문제가 있었다의이다. 열 대신 행 단위로 결합하려면 unionAll :
val rddPart1= ???
val rddPart2= ???
val rddAll = rddPart1.unionAll(rddPart2)
데이터 프레임의 메소드 요약을 읽은 후에 찾았습니다. 더 자세한 정보는 https://spark.apache.org/docs/latest/api/java/org/apache/spark/sql/DataFrame.html
'++ '를 사용할 수 없습니까? – lmm
@lmm No .. RDD에 열을 추가합니다. RDD에 행을 추가해야합니다. 하나의 RDD에 레코드를 병합해야하는 동일한 열이있는 두 개의 RDD가 있습니다. – Atom
아니, 나는 방금 그것을 시도했다. '++'는 두 결과 모두를 가진 결합 RDD를 생성합니다. – lmm