Managed Service for Apache Flink의 Python 예제 - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink(Amazon MSF)는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려져 있었습니다.

Managed Service for Apache Flink의 Python 예제

다음 예제는 Python으로 작성된 애플리케이션을 생성하는 방법을 보여줍니다.

참고

대부분의 예제는 개발 머신과 사용 중인 IDE에서 로컬로 실행할 수도 있고 Amazon Managed Service for Apache Flink에서도 그대로 실행할 수도 있도록 설계되어 있습니다. 이 예제들은 애플리케이션 파라미터를 전달하는 데 사용할 수 있는 간단한 메커니즘과 두 환경에서 변경 없이 애플리케이션을 실행할 수 있도록 종속 항목을 올바르게 설정하는 방법을 보여줍니다.

프로젝트 종속성

대부분의 PyFlink 예제는 Flink 커넥터용 JAR 파일과 같은 하나 이상의 종속 항목이 필요합니다. Amazon Managed Service for Apache Flink에 배포할 때 이러한 항목을 애플리케이션과 함께 패키징해야 합니다.

다음 예제들은 애플리케이션을 로컬에서 실행해 개발 및 테스트하고 필요한 종속 항목을 올바르게 패키징할 수 있는 도구를 이미 포함하고 있습니다. 이 도구는 Java JDK11 및 Apache Maven을 사용해야 합니다. 구체적인 지침은 각 예제에 포함된 README를 참조하세요.

예시

이 예제는 Python 코드에 임베딩된 SQL을 사용하는 PyFlink 애플리케이션의 기본 구조를 보여줍니다. 커넥터와 같은 JAR 종속 항목을 포함하는 PyFlink 애플리케이션을 위한 프로젝트 골격도 제공합니다. README 섹션에서는 개발을 위해 Python 애플리케이션을 로컬에서 실행하는 방법을 자세히 안내합니다. 또한 이 예제는 단일 JAR 종속 항목(이 예제에서는 Kinesis SQL 커넥터)을 PyFlink 애플리케이션에 포함하는 방법도 보여줍니다.

코드 예제: GettingStarted

이 예제는 PyFlink 애플리케이션에 Python 종속성을 가장 일반적인 방식으로 추가하는 방법을 보여줍니다. 이 방법은 Boto3와 같은 간단한 종속성뿐 아니라 PyArrow처럼 C 라이브러리를 포함한 복잡한 종속성에도 적용됩니다.

코드 예제: PythonDependencies

이 예제는 Python 애플리케이션에 임베딩된 SQL을 사용하여 네 가지 유형의 윈도우 집계를 보여줍니다.

  1. 처리 시간에 따른 슬라이딩 윈도우

  2. 이벤트 시간에 따른 슬라이딩 윈도우

  3. 처리 시간에 따른 텀블링 윈도우

  4. 이벤트 시간에 따른 텀블링 윈도우

코드 예제: Windowing

이 예제는 Python 애플리케이션에 임베딩된 SQL을 사용하여 출력 결과를 JSON 파일로 Amazon S3에 쓰는 방법을 보여줍니다. S3 싱크가 Amazon S3에 파일을 쓰고 교체하려면 체크포인트를 반드시 활성화해야 합니다.

코드 예제: S3Sink

이 예제는 사용자 정의 함수를 정의하고 Python으로 구현한 뒤 Python 애플리케이션에서 실행되는 SQL 코드에서 이를 사용하는 방법을 보여줍니다.

코드 예제: UDF

이 예제는 SQL을 사용하여 데이터를 Amazon Data Firehose로 전송하는 방법을 보여줍니다.

코드 예제: FirehoseSink