Spark UDF
- 자신의 기능을 정의할 수 있는 사용자 정의 함수
- 머신러닝 모델의 내부를 이해하지 않고도 스파크 SQL에서 예측 결과를 쿼리 가능
- 스파크 SQL이 하위 표현식의 평가 순서를 보장하지 않기 때문에 UDF 내부에서 null 검사
|
|
Pandas UDF
- 입력과 출력이 모두 판다스 인스턴스인 API 지원
|
|
Spark Shell
$SPARK_HOME
폴더에서./bin/spark-sql
명령어 실행
|
|
JDBC
user, password, url, dbtable, query, driver
연결 속성 지정- 파티셔닝을 위한
numPartitions, partitionColumn, lowerBound, upperBound
속성
PostgreSQL
|
|
SQL 고차 함수
중첩된 구조를 개별 행으로 분해
|
|
배열 유형 함수
array_distinct(array)
: 배열 내의 중복을 제거array_intersect(array, array)
: 중복되지 않은 두 배열의 교차점을 반환array_union(array, array)
: 중복 항목 없이 두 배열의 결합을 반환array_except(array, array)
: 배열1에는 존재하지만 배열2에는 존재하지 않는 요소를 반환array_join(array, string)
: 구분 기호를 사용하여 배열 요소를 연결array_max(array)
: Null값을 제외한 배열의 최댓값을 반환array_min(array)
: Null값을 제외한 배열의 최솟값을 반환array_position(array, T)
: 배열에서 지정된 요소의 첫번째 인덱스를 반환array_remove(array, T)
: 배열에서 지정된 요소와 동일한 모든 요소를 제거array_overlap(array, array)
: Null이 아닌 동일한 값이 두 배열에 있을 경우 true를 반환array_sort(array)
: 배열을 오름차순으로 정렬하고 Null은 맨 끝에 위치concat(array, ...)
: 문자열, 바이너리, 배열 등을 연결flatten(array<array>)
: 배열 안의 배열들을 단일 배열로 플랫화array_repeat(T, Int)
: 지정된 요소가 포함된 배열을 지정한 횟수만큼 반환reverse(array)
: 문자열의 역순 또는 배열에서 요소의 역순을 반환sequence(T, T)
, 시작부터 끝을 포함한 일련의 요소를 생성shuffle(array)
: 주어진 배열의 무작위 순열을 반환slice(array, Int, Int)
: 배열에서 지정된 시작과 끝 인덱스에 대한 하위 집합을 반환array_zip(array, array, ...)
: 병합된 구조 배열을 반환element_at(array, Int)
: 지정된 인덱스에서 지정된 배열의 요소를 반환cardinality(array)
: 지정된 배열 또는 맵의 크기를 반환
맵 함수
map_form_arrays(array, array)
: 주어진 키/값 배열 쌍에서 맵을 생성하여 반환map_from_entries(array<struct>)
: 주어진 배열에서 생성된 맵을 반환map_concat(map, ...)
: 입력된 맵의 결합을 반환element_at(map, K)
: 주어진 키에 대한 값을 반환하고 없을 경우 Null을 반환cardinality(array)
: 지정된 배열 또는 맵의 크기를 반환
고차 함수
transform(values, value -> lambda expression)
형태의 람다식 사용
|
|
SQL 작업
Union
|
|
JOIN
|
|
Window
rank()
,dense_rank()
,percent_rank()
,ntile()
,row_number()
cume_dist()
,first_value()
,last_value()
,lag()
,lead()
|
|
|
|
Modification
|
|