2016-10-04 10 views
1

나는 두 배의 배열을 포함하는 JavaRDD를 가지고 있습니다. 이제 각 배열 사이의 피어슨 계수를 계산하고 싶습니다. 그러나 rdd를 벡터로 변환하고 statistics.corr()을 적용하면 함수는 열을 계산하지만 행을 계산하려고합니다. 아무도 그 칼럼에 corr() 함수를 적용 할 수 있도록 내 데이터를 변환하는 방법을 제안 할 수 있습니까?스파크 데이터 세트에서 피어슨 상관 관계 계산

편집 : statistics.corr() 함수는 javadd <을 입력으로 사용합니다.

답변

0

당신은 RDD [더블]에 각 행을 변환하려고하고

val seriesX: RDD[Double] = ... // row1 
val seriesY: RDD[Double] = ... // row2 must have the same number of partitions and cardinality as seriesX 
val correlation: Double = Statistics.corr(seriesX, seriesY, "pearson") 

자신 (수동 또는 루프) 조합을 비교하거나 당신이 당신의 RDD 트랜스하려고합니다 (이 CORR에 RDD 결과적 전달할 수 있습니다 ..) - 여기에 옮겨 놓는 것에 대한 아이디어 - How to transpose an RDD in Spark

만약 당신이 여러 행/레코드를 가지고 있고 다른 것들과의 상관 관계를 원한다면 행렬은 너무 커서 두 옵션 모두 너무 낮을 수 있습니다.)