하이브 테이블 t1에 세 개의 열 (c1, c2, c3)이 있습니다. 특정 열이 null인지 여부를 확인하는 MySQL 코드가 있습니다. 동일한 테이블의 데이터 프레임을 가지고 있습니다. 데이터 프레임을 통해 동일한 로직을 구현하고 싶습니다. df에는 c1, c2, c3의 세 열이 있습니다.Spark 및 Scala를 사용하여 데이터 프레임을 통해 SQL 로직을 구현
여기 내가 사용 스칼라에서 다음과 같은 논리를 초안을 작성했던 SQL-
if(
t1.c1=0 Or IsNull(t1.c1),
if(
IsNull(t1.c2/t1.c3),
1,
t1.c2/t1.c3
),
t1.c1
) AS myalias
는 "때"를 "경우"SQL의 대안으로. 나는 "또는"논리 (아래 굵은 글씨체)를 쓰면서 문제에 직면하고있다. 스칼라를 사용하여 Spark 데이터 프레임을 통해 위의 SQL 로직을 작성하려면 어떻게해야합니까?
val df_withalias = df.withColumn("myalias",when(
Or((df("c1") == 0), isnull(df("c1"))),
when(
(isNull((df("c2") == 0)/df("c3")),
)
)
)
위의 논리는 어떻게 작성합니까?
일 ! Tzach에게 감사드립니다. –