2017-12-07 1 views
0

두 열의 조합마다 가격의 평균을 구하는 방법은 무엇입니까?Spark DataFrame - 두 열 조합의 평균값을 구하십시오.

내 DataFrame : B의 모든 조합에 대한 평균을 얻을 수있는 간단하고 확장 가능한 솔루션이 될 것입니다 무엇

+-------+------------+------------------+ 
| Price|  B  |   A  | 
+-------+------------+------------------+ 
| 0.2947| i3.xlarge|     x| 
| 0.105| c4.large|     x| 
| 0.2179| m4.xlarge|     x| 
| 2.2534| m4.10xlarge|     x| 
| 2.1801| m4.10xlarge|     x| 
| 0.108| r4.large|     x| 
| 0.108| r4.large|     x| 
| 0.0213| i3.large|     y| 
| 0.5572| i2.4xlarge|     y| 
| 0.1542| c4.4xlarge|     y| 
| 0.3624| m4.10xlarge|     y| 
| 0.3596| m4.10xlarge|     y| 
| 0.11| m4.large|     x| 
| 0.4436| m4.2xlarge|     x| 
| 0.1458| m4.2xlarge|     y| 

... and so on real huge set 

:

relevantTable = df.select(df['Price'], df['B'], df['A']) 

모습?

+0

그래서 무엇을 :/ – rufreakde

답변

2

방법에 대해 :

df.groupBy("A", "B").avg("Price") 

또는 하나의 열을 기준으로 집계 포함 할 경우 : 내가 .reduce 및 .reduceByKey했다하지만 난 여기에 뭔가 잘못 할 생각하려고

df.cube("A", "B").avg("Price") 
+0

와우 이것은 쉽습니다 ... 젠장,이 프레임 워크에 대해 더 많이 배워야합니다. 고마워요! – rufreakde

관련 문제