-
OverviewFlink/Concepts 2024. 4. 21. 13:51
https://nightlies.apache.org/flink/flink-docs-release-1.17/docs/concepts/overview/
1.17 documnet 기반으로 정리했습니다.
Flink API
- flink는 Streaming / Batch 처리를 위한 다양한 level의 추상화 제공
- Stateful Stream Processing
- stateful 하고 timely한 streaming processing 제공, 해당 부분은 Process Function을 통한 DataStream API에 포함되어 있음
- 다양한 프로세스 처리, 일관되고 fault tolerant state 사용할 수 있도록 기능 제공
- event time, processing time callbacks들을 등록 할 수 있어서 프로그램이 정교한 계산을 할 수 있도록 도와줌
- DataStream (bounded/unbounded data) / DataSet API (bounded data set) <Core API>
- 실질적으로 많이 사용하는 level
- specified transformations, joins, aggregations, windows, state를 사용할 수 있는 기능을 제공
- Table API
- Table 전용적인 도메인 전용 언어(declarative DSL)
- table은 동적으로 변형 가능
- 스키마 사용이 가능하고 select, project, join, group-by, aggregate 등등의 명령어 사용 가능
- 정확한 코드의 동작보다는 선언적으로 명령한 logical한 명령어 수행에 중점되어 있음
- Core API 보다는 작업의 자유도가 떨어지지만 사용하기 간결
- 수행 전 최적화 작업이 있음
- 테이블과 DataStream / DataSet 간에 원활하게 변환가능해서 혼합해서 유용하게 사용 가능
- SQL
- Table API 와 유사 하지만 프로그램을 SQL 쿼리 식으로 나타냄
- SQL 쿼리는 Table API 에 정의된 테이블에 대해 실행될 수 있음
'Flink > Concepts' 카테고리의 다른 글
Stateful Stream Processing (0) 2024.04.21