2016-11-18 2 views
-2

스파크 데이터 프레임을 사용한 작업이 처음이었고 창 함수를 사용하여 모든 날짜의 모든 평균 재고를 계산하는 방법을 알아 내려고했습니다.Spark DataFrame 및 Window 함수를 사용하여 롤링 평균 반환 계산

나는 티커로 그룹화하려고 시도하고 롤링 차이 창 함수를 적용하려고 시도하지만 창 함수 또는 작동 방법에 대한 많은 문서를 찾을 수 없습니다.

데이터는 날짜, 공개 가격, 고가, 저가, 마감 가격, 거래량 및 시세입니다.

어제 마감 가격에서 어제 닫음 가격을 뺀 다음 어제 마감 가격으로 나누어 평균 수익률을 구할 수 있습니다.

을 = 창() df.groupBy ("시세")

내가 창을 사용하고 내 문제를 해결하기 위해 함께 GROUPBY하는 방법을 배우려고 노력하고 W : 내가 지금까지 시도 무엇

.

w = Window().partitionBy("ticker").orderBy("date") 

df.withColumn("percentDiff", (col("close") - lag("close", 1).over(w))/lag("close", 1).over(w)) \ 
    .groupBy("date").agg(mean("percentDiff")) 
+0

하는 필드는 평균 수익률을 계산하는 데 사용합니까 : – vdep

+0

@vdep가 위의 수식을 추가했습니다. – pr338

답변

3

는 의미합니까?
+0

어떻게 윈도우를 개별적으로 볼 수 있습니까? 각 종목마다 차이가 있습니까? – pr338

+0

내가 물어 보는 이유는 각 증권 시세 표시기에 대해 std dev을 얻고 싶기 때문입니다. – pr338

+0

다른 집계를 추가 하시겠습니까? –