consuming, streaming, transform, aggregation, window
상태 기반 : n번째 요소를 얻기 위해 n-1 번째 요소를 처리, 비상태 기반 : 비네 공식 (Binet formula) 를 이용하여 이전 요소를 구하지 않고 직접 계산
Streaming 에서는 늦게 들어오는 event data 를 위해 watermark 를 제공한다.
PairRDD : key-value 쌍 또는 key-value 튜플로 구성된 RDD. Pair RDD 에서만 사용할 수 있는 API도 있음. sample, takeSample, take RDD에서 랜덤으로 샘플링하는 API. 인자에 따라 복원, 비복원 추출 가
파티션에 대해서. 데이터를 여러 클러스터 노드로 분할하는 매커니즘 파티션 수는 클러스터의 코어 개수보다 서너배 더 많은 파티션을 사용하는 것이 좋음 너무 적으면 클러스터를 충분히 활용할 수 없고, 메모리 문제 발생 가능. 어느정도는 좀 많아도 무방하나,
Pair RDD 에서만 사용 가능.join \-> 키가 두 RDD 모두 있는 것만 Pair RDD 생성. Pair RDD (K,V) 와 Pair RDD (K,W) join 하면\-> (K, (V, W)) RDD 생성leftOuterJoin 첫번째에만 있는건 (K, (V
key 혹은 원하는 튜플 요소로 정렬 수행 당연히 타입이 정렬 가능한 클래스여야함. 커스텀 클래스일 경우 Ordered trait 또는 Ordering trait 을 이용하여 정렬 가능한 클래스 정의key를 그루핑하고 value를 정렬함. 단, 메모리 및 네트워크 리소
값을 더하는 연산만 허용하는 변수여러 executor가 공유spark job 의 전역 합계나, counter 구현에 사용※ 값 참조는 driver에서만 함.executor가 접근시 exception 발생foreach 등에서 add하는 것은 가능하나 참조는 불가Spark
PairRDD : key-value 쌍 또는 key-value 튜플로 구성된 RDD. Pair RDD 에서만 사용할 수 있는 API도 있음. sample, takeSample, take RDD에서 랜덤으로 샘플링하는 API. 인자에 따라 복원, 비복원 추출 가
spark-submit 으로 job 제출시, Spark 에서는 WebUI port 를 할당하려 시도함이미 실행중인 job 이 있을 경우, port 를 중가시키며 탐색spark.port.maxRetries 옵션을 통해 최대 횟수를 제어, 기본값은 16\-> spark j
spark-shell 을 통해 간단한 테스트 진행시, external jar 파일들을 의존성에 추가한다.
https://stackoverflow.com/questions/57509625/how-to-create-table-in-mysql-database-using-apache-spark 검증 필요.
※ Mysql Connector License 주의 https://stackoverflow.com/q/41518078https://mariadb.com/kb/en/sql-mode/
to_date, to_timestamp, 포매팅, 날짜 범위 지정
Spark Structured Streaming + Kafka
Multiple streaming aggregations are not supported with streaming DataFrames
471859200 = 450 MB. 이 이상 할당해야만 한다.
FIFO, FAIR 스케줄링
Standalone, Mesos, YARN 애플리케이션간 스케줄링, 리소스 동적 할당
SPARK_DRIVER_MEMORY 는 YARN 모드에서의 driver 를 위한 메모리 설정SPARK_EXECUTOR_MEMORY YARN 모드에서의 executor 1개의 메모리 설정SPARK_WORKER_MEMORY 는 standalone 모드에서 executor
local mode 클러스터 없이 단일 머신으로 실행 Local client 에 Driver, Executor 1개씩 생성하여 실행하는 형태 단순 테스트 용도로 사용 deploy mode에 따른 구분 Client mode Spark 실행시 Driver 가 Cluste
Rest API 를 통한 Spark 메트릭 정보 모니터링