2016-06-21 2 views
-1

데이터 프레임이 있고 기본적으로 값이 다른 열이 동일한 지 여부를 나타내는 간단한 조건을 기반으로 추가 열을 추가하고 싶습니다. 주어진 끈에 또는 아닙니다. 나는 내가 UDF를 만들고 그것을 등록하고 그것을 사용할 수 있다는 것을 알고있다. 그러나 나는 그것을하는 더 쉬운 방법이 있어야한다고 생각한다. 이것은 당신은 꽤 많이있다스파크의 간단한 조건을 기반으로 DataFrame에 여분의 열을 만드는 방법

df.withColumn("extra", if (col("a) == "str" 1 else 2)) 

답변

2

을 할 내가 약 해요 무엇의 psuedocode입니다 : 당신이 functions하고 위의 수입 implicits이 작동해야합니다

scala> val df = Seq((1,2), (3,3), (4,5)).toDF("a", "b") 
scala> df.show 
+-+-+ 
|a|b| 
+-+-+ 
|1|2| 
|3|3| 
|4|5| 
+-+-+ 

scala> df.withColumn("New", when($"a" === $"b", "equal").otherwise("not")).show 
+-+-+-----+ 
|a|b| New| 
+-+-+-----+ 
|1|2| not| 
|3|3|equal| 
|4|5| not| 
+-+-+-----+ 

참고.

관련 문제