Python용 Apache Flink용 아마존 매니지드 서비스 시작하기 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Python용 Apache Flink용 아마존 매니지드 서비스 시작하기

이 섹션에서는 Python과 표를 사용하는 Apache Flink용 관리 서비스의 기본 개념을 소개합니다. API 애플리케이션 생성 및 테스트에 사용할 수 있는 옵션에 대해 설명합니다. 또한 이 가이드의 자습서를 완료하고 첫 번째 애플리케이션을 만드는 데 필요한 도구를 설치하는 방법에 대한 지침도 제공합니다.

Apache Flink용 관리 서비스 응용 프로그램의 구성 요소를 검토하십시오.

참고

아파치 플링크용 아마존 매니지드 서비스는 모든 아파치 플링크를 지원합니다. APIs 선택하는 API 항목에 따라 애플리케이션 구조가 약간 다릅니다. Python에서 Apache Flink 응용 프로그램을 개발할 때 널리 사용되는 방법 중 하나는 Python 코드에 SQL 포함된 코드를 사용하여 응용 프로그램 흐름을 정의하는 것입니다. 다음 Gettgin Started 자습서에서 따르는 접근 방식은 다음과 같습니다.

데이터를 처리하기 위해 Apache Flink용 관리 서비스 응용 프로그램은 Python 스크립트를 사용하여 Apache Flink 런타임을 사용하여 입력을 처리하고 출력을 생성하는 데이터 흐름을 정의합니다.

일반적인 Apache Flink 관리 서비스 응용 프로그램에는 다음과 같은 구성 요소가 있습니다.

  • 런타임 속성: 애플리케이션 코드를 다시 컴파일하지 않고도 런타임 속성을 사용하여 애플리케이션을 구성할 수 있습니다.

  • 소스: 애플리케이션은 하나 이상의 소스에서 데이터를 사용합니다. 소스는 커넥터를 사용하여 Kinesis 데이터 스트림 또는 Amazon MSK 주제와 같은 외부 시스템에서 데이터를 읽습니다. 또한 특수 커넥터를 사용하여 애플리케이션 내에서 데이터를 생성할 수 있습니다. 를 사용하면 SQL 응용 프로그램에서 소스를 소스 테이블로 정의합니다.

  • 변환: 응용 프로그램은 데이터를 필터링, 강화 또는 집계할 수 있는 하나 이상의 변환을 사용하여 데이터를 처리합니다. 를 사용하면 응용 프로그램에서 변환을 SQL 쿼리로 정의합니다. SQL

  • 싱크: 애플리케이션은 싱크를 통해 외부 소스에 데이터를 전송합니다. 싱크는 커넥터를 사용하여 Kinesis 데이터 스트림, Amazon MSK 주제, Amazon S3 버킷 또는 관계형 데이터베이스와 같은 외부 시스템으로 데이터를 전송합니다. 또한 특수 커넥터를 사용하여 개발 목적으로 출력을 인쇄할 수 있습니다. 를 사용하는 SQL 경우 애플리케이션은 싱크를 결과를 삽입하는 싱크 테이블로 정의합니다. 자세한 내용은 Apache Flink용 관리형 서비스에서 싱크를 사용하여 데이터를 작성합니다. 단원을 참조하십시오.

Python 응용 프로그램에는 추가 Python 라이브러리 또는 응용 프로그램에서 사용하는 Flink 커넥터와 같은 외부 종속성이 필요할 수도 있습니다. 애플리케이션을 패키징할 때는 애플리케이션에 필요한 모든 종속성을 포함해야 합니다. 이 자습서에서는 커넥터 종속성을 포함하는 방법과 Apache Flink용 Amazon Managed Service에 배포하기 위해 애플리케이션을 패키징하는 방법을 보여줍니다.

사전 요구 사항을 충족하십시오.

이 자습서를 완료하려면 다음이 있어야 합니다.

  • Python 3.11, 가급적이면 VirtualEnv (venv), 콘다 또는 미니콘다와 같은 독립형 환경을 사용하는 것이 좋습니다.

  • Git 클라이언트 - 아직 설치하지 않았다면 Git 클라이언트를 설치하십시오.

  • Java 개발 키트 (JDK) 버전 11 - Java JDK 11을 설치하고 설치 위치를 가리키도록 JAVA_HOME 환경 변수를 설정합니다. JDK11이 없는 경우, 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)
참고

애플리케이션이 Python으로 작성되었지만 Apache Flink는 자바 가상 머신 () JVM 에서 실행됩니다. Kinesis 커넥터와 같은 대부분의 종속성을 파일로 배포합니다. JAR 이러한 종속성을 관리하고 애플리케이션을 ZIP 파일로 패키징하려면 Apache Maven을 사용하십시오. 이 자습서에서는 이를 수행하는 방법을 설명합니다.

주의

로컬 개발에는 Python 3.11을 사용하는 것이 좋습니다. 이 버전은 아마존 매니지드 서비스에서 아파치 플링크용 Flink 런타임 1.19에서 사용하는 것과 동일한 Python 버전입니다.

파이썬 3.12에 파이썬 플링크 라이브러리 1.19를 설치하면 실패할 수 있습니다.

컴퓨터에 기본적으로 다른 Python 버전이 설치되어 있는 경우 Python 3.11을 VirtualEnv 사용하는 것과 같은 독립 실행형 환경을 만드는 것이 좋습니다.

IDE로컬 개발용

PyCharm또는 Visual Studio Code와 같은 개발 환경을 사용하여 응용 프로그램을 개발하고 컴파일하는 것이 좋습니다.

그런 다음, 다음 중 처음 두 단계를 완료하세요. 아파치 플링크용 아마존 매니지드 서비스 시작하기 () DataStream API

시작하려면 애플리케이션 생성 섹션을 참조하세요.