Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이 섹션에서는 Python과 Table API를 사용하는 Amazon Managed Service for Apache Flink의 기본 개념을 소개합니다. 애플리케이션 생성 및 테스트에 사용할 수 있는 옵션에 대해 설명합니다. 또한 이 가이드의 자습서를 완료하고 첫 번째 애플리케이션을 만드는 데 필요한 도구를 설치하는 방법에 대한 지침도 제공합니다.
주제
Managed Service for Apache Flink 애플리케이션의 구성 요소 검토
참고
Amazon Managed Service for Apache Flink는 모든 Apache Flink APIs
Managed Service for Apache Flink 애플리케이션은 데이터를 처리하기 위해 Python 스크립트를 사용하여 입력을 처리하고 Apache Flink 런타임을 사용하여 출력을 생성하는 데이터 흐름을 정의합니다.
일반적인 Managed Service for Apache Flink 애플리케이션에는 다음과 같은 구성 요소가 있습니다.
-
런타임 속성: 애플리케이션 코드를 다시 컴파일하지 않고도 런타임 속성을 사용하여 애플리케이션을 구성할 수 있습니다.
-
소스: 애플리케이션이 하나 이상의 소스에서 데이터를 사용합니다. 소스는 커넥터를
사용하여 Kinesis 데이터 스트림 또는 Amazon MSK 주제와 같은 외부 시스템에서 데이터를 읽습니다. 특수 커넥터를 사용하여 애플리케이션 내에서 데이터를 생성할 수도 있습니다. SQL을 사용하는 경우 애플리케이션은 소스를 소스 테이블로 정의합니다. -
변환: 애플리케이션은 데이터를 필터링, 보강 또는 집계할 수 있는 하나 이상의 변환을 사용하여 데이터를 처리합니다. SQL을 사용하는 경우 애플리케이션은 변환을 SQL 쿼리로 정의합니다.
-
싱크: 애플리케이션이 싱크를 통해 외부 소스로 데이터를 전송합니다. 싱크는 커넥터를
사용하여 Kinesis 데이터 스트림, Amazon MSK 주제, Amazon S3 버킷 또는 관계형 데이터베이스와 같은 외부 시스템으로 데이터를 전송합니다. 특수 커넥터를 사용하여 개발 목적으로 출력을 인쇄할 수도 있습니다. SQL을 사용하는 경우 애플리케이션은 싱크를 결과를 삽입하는 싱크 테이블로 정의합니다. 자세한 내용은 Managed Service for Apache Flink의 싱크를 사용하여 데이터 쓰기 단원을 참조하십시오.
Python 애플리케이션에는 추가 Python 라이브러리 또는 애플리케이션이 사용하는 Flink 커넥터와 같은 외부 종속성이 필요할 수도 있습니다. 애플리케이션을 패키징할 때 애플리케이션에 필요한 모든 종속성을 포함해야 합니다. 이 자습서에서는 커넥터 종속성을 포함하는 방법과 Amazon Managed Service for Apache Flink에서 배포를 위해 애플리케이션을 패키징하는 방법을 보여줍니다.
사전 조건 이행
이 자습서를 완료하려면 다음과 같은 사전 조건이 필요합니다.
-
Python 3.11, 가급적이면 VirtualEnv(venv)
, Conda 또는 Miniconda 와 같은 독립 실행형 환경을 사용합니다. -
Git 클라이언트
- 아직 설치하지 않은 경우 Git 클라이언트를 설치합니다. -
Java Development Kit(JDK) 버전 11
- Java JDK 11을 설치하고 JAVA_HOME
환경 변수를 설치 위치를 가리키도록 설정합니다. JDK 11이 없는 경우 Amazon Corretto 또는 선택한 표준 JDK를 사용할 수 있습니다.-
JDK가 올바르게 설치되었는지 확인하려면 다음 명령을 실행합니다. Amazon Corretto 11 이외의 JDK를 사용하는 경우 출력이 달라집니다. 버전이 11.x인지 확인합니다.
$ java --version openjdk 11.0.23 2024-04-16 LTS OpenJDK Runtime Environment Corretto-11.0.23.9.1 (build 11.0.23+9-LTS) OpenJDK 64-Bit Server VM Corretto-11.0.23.9.1 (build 11.0.23+9-LTS, mixed mode)
-
-
Apache Maven
- 아직 설치하지 않은 경우 Apache Maven을 설치합니다. 자세한 내용은 Apache Maven 설치를 참조하세요. -
Apache Maven 설치를 테스트하려면 다음 명령을 사용합니다.
$ mvn -version
-
참고
애플리케이션이 Python으로 작성되었지만 Apache Flink는 Java 가상 머신(JVM)에서 실행됩니다. Kinesis 커넥터와 같은 대부분의 종속성을 JAR 파일로 배포합니다. 이러한 종속성을 관리하고 애플리케이션을 ZIP 파일로 패키징하려면 Apache Maven
주의
로컬 개발에는 Python 3.11을 사용하는 것이 좋습니다. 이는 Amazon Managed Service for Apache Flink에서 Flink 런타임 1.19와 함께 사용하는 것과 동일한 Python 버전입니다.
Python 3.12에 Python Flink 라이브러리 1.19를 설치하지 못할 수 있습니다.
시스템에 기본적으로 다른 Python 버전이 설치되어 있는 경우 Python 3.11을 사용하여 VirtualEnv와 같은 독립 실행형 환경을 생성하는 것이 좋습니다.
로컬 개발을 위한 IDE
PyCharm
그런 다음의 처음 두 단계를 완료합니다Amazon Managed Service for Apache Flink(DataStream API) 시작하기.
시작하려면 애플리케이션 만들기 섹션을 참조하세요.