Exception in thread "main" java.lang.NullPointerException: Value at index 0 is null
at org.apache.spark.sql.Row.getAnyValAs(Row.scala:523)
at org.apache.spark.sql.Row.getLong(Row.scala:253)
at org.apache.spark.sql.Row.getLong$(Row.scala:253)
at org.apache.spark.sql.catalyst.expressions.GenericRow.getLong(rows.scala:166)
와 같은 에러가 발생했다.
하필 인덱스가 0이라서 dataframe의 row가 0이여서 발생했다고 생각했다. 그래서 dataframe이 row가 0이 아닌 조건을 넣어서 해결하려고 했다.
if(df.isEmpty) {}
if(df == null) {}
if(df.head() == null) {}
근데 여전히 에러가 발생했다. 알고 보니 getLong(0) 처럼 index를 주면 해당 index의 컬럼의 값을 가져오는 것이여서 전체 dataframe이 null이 아니고 해당 column이 null이여서 발생한 문제였다. index를 확인했으면 바로 알 수 있는 문제였는데 0에 매몰되어 생각하지 못 했다.
결론적으로 해당 컬럼에 COALESCE를 적용하여 null이 안 나오게 한 뒤 해결했다.
'Programming > Tip&Informaion' 카테고리의 다른 글
[Spark/Yarn] 특정 실행중인 job(애플리케이션) 죽이기 (0) | 2023.06.19 |
---|---|
[Kubeflow/kserve] taints, tolerations 사용 시 에러 (0) | 2023.06.15 |
[Airflow] Airflow 버전업을 하면서 발생한 문제들 정리 (0) | 2023.05.17 |
[Docker] pip install 로 용량 큰 라이브러리 설치 중 에러 발생 시 ERROR: failed to receive status: rpc error: code = Unavailable desc = error reading from server: EOF (0) | 2023.04.28 |
mwaa에서 ModuleNotFoundError 발생 시 대처 (v2.4.3) (0) | 2023.03.16 |