2017-09-14 10 views
1

내가 좋아하는 '안양'라는 DataFrame이 다음어떻게 증분 값을 사용하여 Pyspark의 DataFrame에 열을 추가 할 수 있습니까?

+-------+-------+-------+ 
| Atr1 | Atr2 | Atr3 | 
+-------+-------+-------+ 
| A | A | A | 
+-------+-------+-------+ 
| B | A | A | 
+-------+-------+-------+ 
| C | A | A | 
+-------+-------+-------+ 

내가 증분 값으로 새 열을 추가하고 다음 업데이트 DataFrame 싶어 :

+-------+-------+-------+-------+ 
| Atr1 | Atr2 | Atr3 | Atr4 | 
+-------+-------+-------+-------+ 
| A | A | A | 1 | 
+-------+-------+-------+-------+ 
| B | A | A | 2 | 
+-------+-------+-------+-------+ 
| C | A | A | 3 | 
+-------+-------+-------+-------+ 

을 어떻게 할 수 알 겠어?

답변

2

증분 값 (예 : ID) 만 필요하고 숫자가 연속적이어야하는 제약 조건이없는 경우 monotonically_increasing_id()을 사용할 수 있습니다. 이 함수를 사용할 때 유일한 보장은 각 행에 대해 값이 증가한다는 것입니다. 그러나 값은 각 실행마다 다를 수 있습니다.

from pyspark.sql.functions import monotonically_increasing_id 

df.withColumn("Atr4", monotonically_increasing_id()) 
+1

감사합니다. 좋은 해결책! – jartymcfly