반응형
Pyspark NoneType, Null, Blank, Empty String 필터링 하는 방법
pyspark에서 NoneType, NULL, Blank, Empty String 등 사용지 않는 값을 필털이 하는 방법에 대해서 설명을 한다.
- SQL로 진행하면 컬럼 하나 하나에 대해서 WHERE 절을 이용해서 필터링을 해야한다.
- 하지만 spark에서 Condition을 생성하고, 해당 Condition을 filter() 함수의 인자로 넘겨주면, 동일한 조건으로 모든 컬럼에 적용이 가능하다.
- 코드에서 살펴볼 내용
- None, Null Empty String이 포함된 Row만 추출이 가능
- None, Null, Empty String을 제외한 모든 Row만 추출도 가능
- 코드 설명
- 간단하게 각각 컬럼에 공통적으로 적용할 condition을 입력을 하고, map함수를 이용해 모든 컬럼에 적용을 한다.
- 마지막에는 reduce함수를 이용해 condition을 모두 "&"(and) 또는 "|"(or) 로 연결하면 condition은 정의 완성
- 정의된 condition을 filter함수에 넘기면 내가 원하는 Row만 추출이 가능하다.
Condition 예)Column<(((CODE IS NOT NULL) AND (NOT (CODE = ))) AND ((TYPE IS NOT NULL) AND (NOT (TYPE = ))))>
소스코드
반응형
'빅데이터 > Spark' 카테고리의 다른 글
[Spark] Pyspark에서 NoneType Filtering 하는 방법 (0) | 2019.03.24 |
---|---|
[Spark] 스파크에서 외부 라이브러리 사용하는 방법 (0) | 2016.11.08 |
[Spark] timestamp에서 날짜 추출하는 방법 (month, day, hour) (0) | 2016.08.09 |
[Spark] Row의 Seq Collection으로 RDD, DataFrame 생성하기 (0) | 2016.08.03 |
[Spark] Json 포맷 처리하기 - Json Object List (0) | 2016.08.03 |