I는 방송 변수로 배열을하고 정수 포함은 새로운 열의 가치를 추가
broadcast_array.value
Array(72159153, 72159163, 72159202, 72159203, 72159238, 72159398, 72159447, 72159448, 72159455, 72159492...
I 데이터 집합의 열을을 (호출은 broadcast_array
에있을 수 있습니다 IntegerType
값을 포함 col_id
이지만, 그들은하지 않을 수 있습니다. 나는 각 행에 대해 col_id
값이 broadcast_array
에 있는지 확인하는 새 열을합니다 (new_col
전화) 만들려고하고
. 그렇다면 새 열 값은
val my_new_df = df.withColumn("new_col", when(broadcast_array.value.contains($"col_id"), "Available"))
하지만이 오류가 점점 계속 :이 null
그래서 내가 좋아하는 뭔가를 할 수있다, 다른 Available
수
Name: Unknown Error
Message: <console>:45: error: type mismatch;
found : Boolean
required: org.apache.spark.sql.Column
val my_new_df = df.withColumn("new_col", when(broadcast_array.value.contains($"col_id"), "Available"))
^
StackTrace:
나에게 가장 혼란 어떤 것은 그 I when
문에 일부 부울을 출력하는 조건부가 필요하다고 생각했지만 여기에는 Column이 필요하다는 것을 의미합니다.
기존 열의 값을 미리 정의 된 Array에서 찾을 수 있는지 여부에 따라 새 열에 값을 추가하는 방법은 무엇입니까?