Table API
Table API
Table API는 Java, Scala, Python을 위한 언어 통합형 쿼리 API로, 선택(selection), 필터(filter), 조인(join) 같은 관계형 연산자로 쿼리를 매우 직관적으로 구성할 수 있게 해줍니다. Flink SQL과 동일한 기반 엔진을 공유하므로, 어느 인터페이스로 지정한 쿼리든 입력이 연속 스트림(streaming)이든 유한 배치(batch)든 동일한 의미론과 결과를 갖습니다.
출처: 문서
본문
Table API와 SQL은 서로, 그리고 Flink의 DataStream API와 원활하게 통합됩니다. 모든 API와 이를 기반으로 구축된 라이브러리 사이를 쉽게 전환할 수 있습니다. 예를 들어 MATCH_RECOGNIZE 절을 사용해 테이블에서 패턴을 감지하고, 이후 DataStream API를 사용해 매칭된 패턴을 기반으로 알림(alerting)을 만들 수 있습니다.
Table API를 언제 사용할까 (When to Use the Table API)
다음 상황에서 Table API를 사용하세요:
- Java, Scala, Python 코드로 관계형 쿼리를 작성할 때
- 타입 안전한 연산자로 쿼리를 프로그래밍 방식으로 구성할 때
- SQL 문장을 프로그래밍 방식의 테이블 연산과 결합할 때
- 혼합 사용 사례를 위해 DataStream API와 통합할 때
프로그래밍 없이 순수 SQL만 사용하려면 Flink SQL을 참고하세요.
Table 프로그램 의존성 (Table Program Dependencies)
데이터 파이프라인을 정의하기 위해 Table API를 사용하려면 프로젝트에 Table API를 의존성으로 추가해야 합니다. Java와 Scala에 대한 의존성 구성 방법은 프로젝트 구성(Project Configuration) 섹션을 참고하세요. Python을 사용한다면 PyFlink 문서를 참고하세요.
다음 단계 (Where to Go Next)
- 개념 & 공통 API (Concepts & Common API): Table API와 SQL의 공유 개념과 API.
- 데이터 타입 (Data Types): 미리 정의된 데이터 타입과 그 속성.
- 스트리밍 개념 (Streaming Concepts): 시간 속성 구성, 갱신 결과 처리 등 Table API·SQL 전용 스트리밍 문서.
- 외부 시스템 연결 (Connect to External Systems): 외부 시스템에서 데이터를 읽고 쓰기 위한 커넥터와 포맷.
- Table API 연산 (Table API Operations): Table API에서 지원하는 연산과 API.
- SQL 참조 (SQL Reference): SQL에서 지원하는 연산과 문법.
- 내장 함수 (Built-in Functions): Table API와 SQL에서 지원하는 함수.
- PyFlink: Python 전용 Flink 문서.