Spark 기본(DataFrame) 2
- cache(), persist() = 일종의 전역변수 개념처럼 한번 로드한 데이터를 그 순간에만 부르는게 아니라 메모리상에 머무르도록 명령 (persist로는 저장공간과 같은 세부사항을 지정할 수 있음, cache는 X)
- unpersist() = 적용되어있던 cache(), persist() 명령 해제
- array_contains() = 컬럼의 시퀀스 데이터에서 특정 문자열이 있는지 없는지 반환
- Map은 일종의 파이썬의 딕셔너리 같은 개념
- 데이터프레임에서는 키/값 지정을 Map("A"->"aa")와 같은 방법으로 지정함
- Map() = 키/값 데이터 생성
- map_keys() = 맵의 키만 반환
- map_values() = 맵의 값만 반환
- map_concat() = 두 맵을 하나로 합침
- import org.apache.spark.sql.functions.udf
- udf() = 새로 정의한 함수나 클래스를 등록시킴
(Spark는 파이썬과는 다르게 함수나 클래스를 새로 정의하면 따로 등록을 해줘야함)
- spark.udf.register() = 새로운 정의한 함수나 클래스를 등록할때 SQL문 사용가능하도록 등록
(import org.apache.spark.sql.functions.udf를 통해 불러온 udf와 spark.udf는 이름이 같지만 다른 패키지)
- explode() = 배열 형태로 구성된 컬럼의 데이터 요소를 하나씩 풀어서 반환
- array() = 두 개의 컬럼의 각각의 데이터를 하나의 배열 형태로 합쳐 하나의 컬럼으로 표현
- sample(비율) = 데이터 셋에서 무작위로 지정한 비율 만큼의 행을 추출하여 반환
(정확한 개수의 데이터를 반환하지 않고 근사값을 반환)
- sample에 비율 이외에 시드를 마지막 인자로 추가해서 입력할 수 있는데 이 시드에 샘플링한 내용이 저장됨
- sample에 비율 이외에 True/False를 첫 인자로 입력하면 중복값 허용/비허용을 적용할 수 있음
- current_date() = 현재 날짜(연,월,일) 출력
- current_timestamp() = 날짜뿐만 아니라 시간, 분, 초까지 추가로 반환
- datediff() = 두 날짜 간의 차이를 반환
- monts_between() = 월(개월) 차이를 반환
- hour() = 시간 반환, minute() = 분 반환, second() = 초 반환
- Window = SQL로 처리하기에 어려운 행(Row)간 연산을 처리
-
- from_json() 함수를 통해 Json파일을 읽어온 후 MapType을 적용하면 spark에서 사용할 수 있도록 Map으로 변환
- to_json() = Map -> json 변환
- json_tuple() = json 데이터를 튜플화 (데이터프레임 생성시 편리)
- get_json_object() = Json 데이터에서 특정 키 와 값을 추출
PySpark
- Python + Spark의 결합어로 Spark에서 Python API를 이용하여 Spark를 다룰 수 있음
- emptyRDD() = 빈 RDD 생성
- toPandas() = spark 데이터프레임을 파이썬 데이터프레임으로
- createDataFrame() = 파이썬 데이터프레임을 spark의 데이터프레임으로
※ pip install = python 2.x 버전에서 다운로드, pip3 install = 파이썬 3.x 버전에서 다운로드
- fill() = 결측치 값을 지정한 데이터로 대체
- csv파일을 write로 작성했다면 NameNode가 아닌 여러 DataNode 중 하나에 랜덤으로 저장됨
'빅데이터 부트캠프 > Hadoop' 카테고리의 다른 글
빅데이터 부트캠프 56일차 (0) | 2022.09.23 |
---|---|
빅데이터 부트캠프 55일차 (0) | 2022.09.22 |
빅데이터 부트캠프 45일차 (0) | 2022.09.06 |
빅데이터 부트캠프 43일차 (0) | 2022.09.02 |
빅데이터 부트캠프 41일차 (0) | 2022.08.31 |
댓글