>source

나는 Scala와 Apache Spark를 처음으로 새로운 것입니다. Spark DataFrame에서 몇 개의 열의 평균 및 표준 편차를 계산하려고 시도하고 결과를 원본 데이터 프레임에 추가합니다. 나는이를 재귀 적으로하려고 노력하고 있습니다. 다음은 내 기능입니다.

def get_meanstd_data(mergedDF: DataFrame, grpByList: Seq[String]): DataFrame= {
val normFactors= Iterator("factor_1", "factor_2", "factor_3", "factor_4")
def meanStdCalc(df: DataFrame, column: String): DataFrame= {
  val meanDF= df.select("column_1", column).groupBy(grpByList.head, grpByList.tail: _*).
    agg(mean(column).as("mean_" + column))
  val stdDF= df.select("column_1", column).groupBy(grpByList.head, grpByList.tail: _*).
    agg(stddev_pop(column).as("stddev_" + column))
  val finalDF= meanDF.join(stdDF, usingColumns= grpByList, joinType= "left")
  finalDF
}
def recursorFunc(df: DataFrame): DataFrame= {
  @tailrec
  def recursorHelper(acc: DataFrame): DataFrame= {
    if (!normFactors.hasNext) acc
    else recursorHelper(meanStdCalc(acc, normFactors.next()))
  }
  recursorHelper(df)
}
val finalDF= recursorFunc(mergedDF)
finalDF

}

그러나 함수를 호출 할 때 결과 데이터 프레임은 "factor_4"의 평균 및 표준 편차 만 포함합니다. 원래의 데이터 프레임에 추가 된 모든 요인의 평균 및 표준 편차로 데이터 프레임을 어떻게 얻을 수 있습니까?

도움이 많이 많이 감사합니다.

입력 및 출력을 게시 할 수 있습니까?

Srinivas2021-05-26 14:05:08
  • 이전 python : 단일 파이썬 스크립트 또는 GUI 버튼에서 서버 및 클라이언트 파이썬 스크립트 실행
  • 다음 Laravel에서 JavaScript에서 트리거 ()를 사용하여 입력 값을 트리거하는 방법은 무엇입니까?