제퍼넷 로고

Apache Flink용 Amazon Managed Service, 이제 Apache Flink 버전 1.18 지원 | 아마존 웹 서비스

시간

아파치 플 링크 상태 저장 처리 및 이벤트 시간 의미 체계에 대한 최고 수준의 지원과 함께 스트림 및 일괄 처리를 위한 강력한 프로그래밍 인터페이스를 제공하는 오픈 소스 분산 처리 엔진입니다. Apache Flink는 여러 프로그래밍 언어, Java, Python, Scala, SQL 및 다양한 추상화 수준의 여러 API를 지원하며 동일한 애플리케이션에서 상호 교환적으로 사용할 수 있습니다.

Apache Flink용 Amazon 관리형 서비스Apache Flink 애플리케이션 실행 시 완전 관리형 서버리스 환경을 제공하는 는 이제 다음을 지원합니다. 아파치 플링크 1.18.1, 작성 당시 최신 버전의 Apache Flink입니다.

이 게시물에서는 최신 주요 릴리스인 1.16, 1.17, 1.18에 도입되어 현재 Apache Flink용 관리형 서비스에서 지원되는 Apache Flink의 몇 가지 흥미로운 새 기능에 대해 논의합니다.

새 커넥터

버전 1.18.1에서 사용할 수 있는 Apache Flink의 새로운 기능을 살펴보기 전에, 많은 새로운 오픈 소스 커넥터의 가용성에서 비롯되는 새로운 기능을 살펴보겠습니다.

오픈 검색

헌신적 인 오픈 검색 이제 프로젝트에 커넥터를 포함할 수 있어 Elasticsearch 호환 모드에 의존하지 않고도 Apache Flink 애플리케이션이 OpenSearch에 직접 데이터를 쓸 수 있습니다. 이 커넥터는 다음과 호환됩니다. 아마존 오픈서치 서비스 프로비저닝 및 OpenSearch 서비스 서버리스.

이 새로운 커넥터는 다음을 지원합니다. SQL 및 테이블 API, Java와 Python을 모두 사용하여 작업하고 데이터 스트림 API, Java에만 해당됩니다. 기본적으로 쓰기를 Flink 체크포인트와 동기화하여 최소 한 번 보장합니다. 결정적 ID와 upsert 방법을 사용하여 정확히 한 번 의미 체계를 달성할 수 있습니다.

기본적으로 커넥터는 OpenSearch 버전 1.x 클라이언트 라이브러리를 사용합니다. 다음을 통해 버전 2.x로 전환할 수 있습니다. 올바른 종속성 추가.

아마존 DynamoDB

Apache Flink 개발자는 이제 전용 커넥터를 사용하여 데이터를 쓸 수 있습니다. 아마존 DynamoDB. 이 커넥터는 다음을 기반으로 합니다. Apache Flink AsyncSink는 AWS에서 개발했으며 현재 Apache Flink 프로젝트의 핵심 부분으로, 비차단 쓰기 요청 및 적응형 일괄 처리를 사용하여 효율적인 싱크 커넥터 구현을 단순화합니다.

이 커넥터는 두 가지 모두를 지원합니다. SQL 및 테이블 API, Java 및 Python, 데이터 스트림 API(Java 전용) 기본적으로 싱크는 처리량을 최적화하기 위해 일괄적으로 씁니다. SQL 버전의 주목할만한 기능은 PARTITIONED BY 절에 대한 지원입니다. 하나 이상의 키를 지정하면 각 일괄 쓰기 시 키당 최신 레코드만 전송하여 일부 클라이언트 측 중복 제거를 달성할 수 있습니다. 각 배치 내에서 덮어쓸 파티션 키 목록을 지정하여 DataStream API를 사용하여 동등한 결과를 얻을 수 있습니다.

이 커넥터는 싱크로만 작동합니다. DynamoDB에서 읽는 데는 사용할 수 없습니다. DynamoDB에서 데이터를 조회하려면 여전히 다음을 사용하여 조회를 구현해야 합니다. 플링크 비동기 I/O API 또는 SQL의 경우 사용자 정의 사용자 정의 함수(UDF)를 구현합니다.

MongoDB의

또 다른 흥미로운 커넥터는 다음과 같습니다. MongoDB의. 이 경우 소스와 싱크를 모두 사용할 수 있습니다. SQL 및 테이블 API 및 데이터 스트림 API. 새로운 커넥터는 이제 공식적으로 Apache Flink 프로젝트의 일부이며 커뮤니티에서 지원됩니다. 이 새로운 커넥터는 이전 Flink Sink 및 Source API만 지원하는 MongoDB에서 직접 제공하는 이전 커넥터를 대체합니다.

다른 데이터 저장소 커넥터의 경우 소스는 일괄 모드에서 제한된 소스로 사용되거나 조회용으로 사용될 수 있습니다. 싱크는 배치 모드와 스트리밍 모두에서 작동하며 upsert 및 추가 모드를 모두 지원합니다.

이 커넥터의 주목할만한 많은 기능 중에서 언급할 가치가 있는 기능은 조회용 소스를 사용할 때 캐싱을 활성화하는 기능입니다. 기본적으로 싱크는 최소 1회 보장을 지원합니다. 기본 키가 정의되면 싱크는 멱등성 upsert를 통해 정확히 한 번 의미 체계를 지원할 수 있습니다. 또한 싱크 커넥터는 기본 키가 정의된 경우 멱등성 upsert를 사용하여 정확히 한 번 의미 체계를 지원합니다.

새로운 커넥터 버전 관리

새로운 기능은 아니지만 이전 Apache Flink 애플리케이션을 업데이트할 때 고려해야 할 중요한 요소는 새로운 커넥터 버전 관리입니다. Apache Flink 버전 1.17부터 대부분의 커넥터는 기본 Apache Flink 배포판에서 외부화되었으며 독립적인 버전 관리를 따릅니다.

올바른 종속성을 포함하려면 다음 형식으로 아티팩트 버전을 지정해야 합니다. <connector-version>-<flink-version>

예를 들어 최신 Kafka 커넥터도 함께 작동합니다. Apache Kafka 용 Amazon Managed Streaming (Amazon MSK), 작성 당시 버전은 3.1.0입니다. Apache Flink 1.18을 사용하는 경우 사용할 종속성은 다음과 같습니다.

<dependency> 
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-kafka</artifactId> 
    <version>3.1.0-1.18</version>
</dependency>

럭셔리 아마존 키네 시스, 새 커넥터 버전은 4.2.0입니다. Apache Flink 1.18의 종속성은 다음과 같습니다.

<dependency>
    <groupId>org.apache.flink</groupId>
    <artifactId>flink-connector-kinesis</artifactId> 
    <version>4.2.0-1.18</version>
</dependency>

다음 섹션에서는 현재 Apache Flink 1.18에서 사용할 수 있고 Apache Flink용 Amazon Managed Service에서 지원되는 강력한 새 기능에 대해 자세히 설명합니다.

SQL

Apache Flink SQL에서 사용자는 다음을 제공할 수 있습니다. 힌트 쿼리 계획에 영향을 미치도록 최적화 프로그램을 제안하는 데 사용할 수 있는 쿼리를 조인합니다. 특히 스트리밍 애플리케이션에서는 조회 조인 스트리밍 데이터를 나타내는 테이블을 외부 시스템(일반적으로 데이터베이스)에서 쿼리되는 데이터로 보강하는 데 사용됩니다. 버전 1.16부터 조회 조인에 대한 몇 가지 개선 사항이 도입되어 조인 동작을 조정하고 성능을 향상시킬 수 있습니다.

  • 조회 캐시 가장 자주 사용되는 레코드를 메모리 내 캐시하여 데이터베이스에 대한 부담을 줄이는 강력한 기능입니다. 이전에는 조회 캐시가 일부 커넥터에만 국한되었습니다. Apache Flink 1.16부터 이 옵션은 내부적으로 조회를 지원하는 모든 커넥터에서 사용할 수 있게 되었습니다(플립-221). 이 글을 쓰는 시점에서, JDBC, 하이브H베이스 커넥터는 조회 캐시를 지원합니다. 조회 캐시에는 세 가지 사용 가능한 모드가 있습니다. FULL, 메모리에 완전히 보관할 수 있는 작은 데이터 세트의 경우 PARTIAL, 대규모 데이터 세트의 경우 가장 최근 레코드만 캐싱하거나 NONE, 캐시를 완전히 비활성화하려면. 을 위한 PARTIAL 캐시의 경우 버퍼링할 행 수와 수명도 구성할 수 있습니다.
  • 비동기 조회 성능을 크게 향상시킬 수 있는 또 다른 기능입니다. 비동기 조회는 Apache Flink SQL에서 다음과 유사한 기능을 제공합니다. 비동기 I/O DataStream API에서 사용할 수 있습니다. 이를 통해 Apache Flink는 이전 조회에 대한 응답이 수신될 때까지 처리 스레드를 차단하지 않고 데이터베이스에 대한 새 요청을 내보낼 수 있습니다. 비동기 I/O와 마찬가지로 비동기 조회를 구성하여 순서를 적용하거나 순서가 지정되지 않은 결과를 허용하거나 버퍼 용량 및 시간 제한을 조정할 수 있습니다.
  • 또한 조회 재시도 전략 함께 PARTIAL or NONE 조회 캐시: 외부 데이터베이스에서 조회가 실패한 경우의 동작을 구성합니다.

이러한 모든 동작은 다음을 사용하여 제어할 수 있습니다. LOOKUP 힌트는 비동기 조회를 사용하여 조회 조인을 보여주는 다음 예와 같습니다.

SELECT 
    /*+ LOOKUP('table'='Customers', 'async'='true', 'output-mode'='allow_unordered') */ 
    O.order_id, O.total, C.address
FROM Orders AS O 
JOIN Customers FOR SYSTEM_TIME AS OF O.proc_time AS C 
  ON O.customer_id = O.customer_id

PyFlink

이 섹션에서는 PyFlink의 새로운 개선 사항과 지원에 대해 논의합니다.

파이썬 3.10 지원

Apache Flink 최신 버전에서는 PyFlink 사용자를 위한 몇 가지 개선 사항이 도입되었습니다. 무엇보다도 이제 Python 3.10이 지원되고 Python 3.6 지원이 완전히 제거되었습니다(FLINK-29421). Apache Flink용 관리형 서비스는 현재 Python 3.10 런타임을 사용하여 PyFlink 애플리케이션을 실행합니다.

기능 패리티에 가까워짐

프로그래밍 API의 관점에서 볼 때, PyFlink는 모든 버전에서 Java에 가까워지고 있습니다. DataStream API는 이제 부차 출력 및 브로드캐스트 상태와 같은 기능을 지원하며 창 API의 격차가 해소되었습니다. PyFlink는 이제 다음과 같은 새로운 커넥터도 지원합니다. Amazon Kinesis 데이터 스트림 DataStream API에서 직접.

스레드 모드 개선

PyFlink는 매우 효율적입니다. PyFlink에서 Flink API 연산자를 실행하는 데 따른 오버헤드는 Java 또는 Scala에 비해 최소화됩니다. 런타임은 실제로 애플리케이션의 언어에 관계없이 JVM에서 직접 연산자 구현을 실행하기 때문입니다. 그러나 사용자 정의 함수가 있으면 상황이 약간 다릅니다. 다음과 같이 간단한 Python 코드 한 줄 lambda x: x + 1, 또는 Pandas 함수만큼 복잡한 기능은 Python 런타임에서 실행되어야 합니다.

기본적으로 Apache Flink는 JVM 외부의 각 작업 관리자에서 Python 런타임을 실행합니다. 각 레코드는 직렬화되어 프로세스 간 통신을 통해 Python 런타임으로 전달되고 역직렬화되어 Python 런타임에서 처리됩니다. 그런 다음 결과는 직렬화되어 역직렬화되는 JVM으로 다시 전달됩니다. 이것이 PyFlink이다 프로세스 모드. 매우 안정적이지만 오버헤드가 발생하고 경우에 따라 성능 병목 현상이 발생할 수 있습니다.

버전 1.15부터 Apache Flink는 다음도 지원합니다. 스레드 모드 PyFlink용. 이 모드에서는 Python 사용자 정의 함수가 JVM 자체 내에서 실행되어 직렬화/역직렬화 및 프로세스 간 통신 오버헤드를 제거합니다. THREAD 모드에는 몇 가지 한계; 예를 들어, THREAD 모드는 Pandas 또는 UDAF(여러 입력 레코드와 하나의 출력 레코드로 구성된 사용자 정의 집계 함수)에 사용할 수 없지만 PyFlink 애플리케이션의 성능을 크게 향상시킬 수 있습니다.

버전 1.16에서는 THREAD 모드 지원이 크게 확장되어 Python DataStream API도 포함됩니다.

THREAD 모드는 Apache Flink용 관리형 서비스에서 지원되며 다음과 같이 사용할 수 있습니다. PyFlink 애플리케이션에서 직접 활성화.

애플 실리콘 지원

Apple Silicon 기반 시스템을 사용하여 PyFlink 애플리케이션을 개발하고 PyFlink 1.15용으로 개발하는 경우 Apple Silicon에서 알려진 Python 종속성 문제 중 일부가 발생했을 수 있습니다. 이러한 문제가 마침내 해결되었습니다(FLINK-25188). 이러한 제한 사항은 Apache Flink용 관리형 서비스에서 실행되는 PyFlink 애플리케이션에 영향을 미치지 않았습니다. 버전 1.16 이전에는 M1, M2 또는 M3 칩셋을 사용하는 시스템에서 PyFlink 애플리케이션을 개발하려면 다음을 사용해야 했습니다. 해결 방법, PyFlink 1.15 이하 버전을 머신에 직접 설치하는 것이 불가능했기 때문입니다.

정렬되지 않은 체크포인트 개선

Apache Flink 1.15는 이미 증분 체크포인트 및 버퍼 디블로팅을 지원했습니다. 이러한 기능은 특히 조합하여 사용하여 체크포인트 성능을 향상시켜 특히 배압이 있는 경우 체크포인트 지속 시간을 더욱 예측 가능하게 만듭니다. 이러한 기능에 대한 자세한 내용은 다음을 참조하세요. 버퍼 디블로팅 및 정렬되지 않은 체크포인트를 사용하여 Amazon Managed Service for Apache Flink 애플리케이션의 체크포인트 최적화.

버전 1.16 및 1.17에서는 안정성과 성능을 향상시키기 위해 몇 가지 변경 사항이 도입되었습니다.

데이터 편향 처리

아파치 플링크는 이벤트 시간 의미론을 지원하는 워터마크. 워터마크는 일반적으로 소스 연산자의 흐름에 삽입되는 특수 레코드로, 이벤트 시간 창 집계와 같은 연산자의 이벤트 시간 진행 상황을 표시합니다. 일반적인 기술은 가장 최근에 관찰된 이벤트 시간에서 워터마크를 지연시켜 이벤트가 적어도 어느 정도 순서가 어긋나도록 하는 것입니다.

그러나 워터마크를 사용하려면 문제가 따릅니다. 애플리케이션에 여러 소스가 있는 경우(예: Kafka 주제의 여러 파티션에서 이벤트를 수신하는 경우) 워터마크는 각 파티션에 대해 독립적으로 생성됩니다. 내부적으로 각 연산자는 항상 모든 입력 파티션에서 동일한 워터마크를 기다리며 실제로 가장 느린 파티션에 정렬합니다. 단점은 파티션 중 하나가 데이터를 수신하지 않는 경우 워터마크가 진행되지 않아 종단 간 대기 시간이 증가한다는 것입니다. 이런 이유로, 선택적 유휴 시간 제한 많은 스트리밍 소스에 소개되었습니다. 구성된 시간 초과 후에 워터마크 생성은 기록을 수신하지 않는 모든 파티션을 무시하고 워터마크가 진행될 수 있습니다.

한 소스가 다른 소스보다 훨씬 빠르게 이벤트를 수신하는 경우 유사하지만 반대되는 문제에 직면할 수도 있습니다. 워터마크는 가장 느린 파티션에 정렬됩니다. 즉, 모든 윈도우 집계는 워터마크를 기다립니다. 빠른 소스의 레코드는 버퍼링되는 동안 기다려야 합니다. 이로 인해 과도한 양의 데이터가 버퍼링되고 운영자 상태가 제어할 수 없을 정도로 증가할 수 있습니다.

더 빠른 소스 문제를 해결하기 위해 Apache Flink 1.17부터 소스 분할의 워터마크 정렬을 활성화할 수 있습니다(FLINK-28853). 기본적으로 비활성화된 이 메커니즘은 다른 파티션에 비해 워터마크가 너무 빨리 진행되는 파티션이 없는지 확인합니다. 여러 입력 항목과 같은 여러 소스를 함께 바인딩하고 동일한 정렬 그룹 ID를 할당하고 현재 워터마크에서 최대 드리프트 기간을 구성할 수 있습니다. 특정 파티션 하나가 이벤트를 너무 빨리 수신하는 경우 소스 운영자는 드리프트가 구성된 임계값 아래로 줄어들 때까지 해당 파티션 사용을 일시 중지합니다.

각 소스에 대해 별도로 활성화할 수 있습니다. 필요한 것은 동일한 ID를 가진 모든 소스와 현재 최소 워터마크에서 최대 드리프트 기간을 함께 묶는 정렬 그룹 ID를 지정하는 것뿐입니다. 드리프트가 지정된 임계값보다 낮아질 때까지 너무 빠르게 진행되는 소스 하위 작업의 소비가 일시 중지됩니다.

다음 코드 조각은 순서가 제한된 워터마크를 방출하는 Kafka 소스에서 소스 분할의 워터마크 정렬을 설정하는 방법을 보여줍니다.

KafkaSource<Event> kafkaSource = ...
DataStream<Event> stream = env.fromSource(
    kafkaSource,
    WatermarkStrategy.<Event>forBoundedOutOfOrderness( Duration.ofSeconds(20))
        .withWatermarkAlignment("alignment-group-1", Duration.ofSeconds(20), Duration.ofSeconds(1)),
    "Kafka source"));

이 기능은 다음에서만 사용할 수 있습니다. 플립-217 소스 분할의 워터마크 정렬을 지원하는 호환 소스. 글을 쓰는 시점에서 주요 스트리밍 소스 커넥터 중 Kafka 소스만이 이 기능을 지원합니다.

Protobuf 형식에 대한 직접 지원

이제 SQL 및 Table API가 직접 지원합니다. 프로토부프 형식. 이 형식을 사용하려면 다음에서 Protobuf Java 클래스를 생성해야 합니다. .proto 스키마 정의 파일을 저장하고 이를 애플리케이션에 종속성으로 포함합니다.

Protobuf 형식은 SQL 및 Table API에서만 작동하며 소스 또는 싱크에서 Protobuf 직렬화된 데이터를 읽거나 쓰는 데에만 사용할 수 있습니다. 현재 Flink는 상태를 직접 직렬화하는 Protobuf를 직접 지원하지 않으며 스키마 진화도 지원하지 않습니다. 아 브로, 예를 들어. 여전히 등록이 필요합니다. 사용자 지정 직렬 변환기 애플리케이션에 약간의 오버헤드가 발생합니다.

Apache Flink 오픈 소스 유지

Apache Flink는 하위 작업 간에 데이터를 전송하기 위해 내부적으로 Akka를 사용합니다. 2022년에는 Akka의 뒤를 잇는 회사인 Lightbend가 라이선스 변경을 발표했습니다. Apache 2.0부터 보다 제한적인 라이선스까지 향후 Akka 버전의 경우 Apache Flink에서 사용하는 버전인 Akka 2.6은 추가 보안 업데이트나 수정 사항을 받지 못할 것입니다.

Akka는 역사적으로 매우 안정적이었고 빈번한 업데이트가 필요하지 않았지만 이번 라이선스 변경은 Apache Flink 프로젝트에 위험을 초래했습니다. Apache Flink 커뮤니티의 결정은 Akka를 버전 2.6의 포크로 교체하는 것이었습니다. 아파치 페코 (FLINK-32468). 이 포크는 Apache 2.0 라이센스를 유지하고 커뮤니티에서 필요한 업데이트를 받습니다. 그동안 Apache Flink 커뮤니티는 Akka 또는 Pekko에 대한 종속성을 완전히 제거할지 여부를 고려할 것입니다.

상태 압축

Apache Flink는 모든 체크포인트와 저장포인트에 대해 선택적 압축(기본값: 꺼짐)을 제공합니다. Apache Flink에서 버그를 발견했습니다 Flink 1.18.1에서는 스냅샷 압축이 활성화되면 운영자 상태를 제대로 복원할 수 없습니다. 이로 인해 데이터가 손실되거나 체크포인트에서 복원할 수 없게 될 수 있습니다. 이 문제를 해결하기 위해 Apache Flink용 관리 서비스는 다음을 백포트했습니다. 고정 된 이는 Apache Flink의 향후 버전에 포함될 예정입니다.

Apache Flink용 관리형 서비스를 사용한 전체 버전 업그레이드

현재 Apache Flink 1.15 이하를 사용하여 Apache Flink용 관리형 서비스에서 애플리케이션을 실행 중인 경우 다음을 사용하여 상태를 잃지 않고 현재 위치에서 1.18로 업그레이드할 수 있습니다. AWS 명령 줄 인터페이스 (AWS CLI), AWS 클라우드 포메이션 or AWS 클라우드 개발 키트 (AWS CDK) 또는 AWS API를 사용하는 모든 도구.

XNUMXD덴탈의 업데이트 신청 이제 API 작업은 기존 Apache Flink용 관리형 서비스 애플리케이션의 Apache Flink 런타임 버전 업데이트를 지원합니다. 실행 중인 애플리케이션에서 직접 UpdateApplication을 사용할 수 있습니다.

전체 업데이트를 진행하기 전에 애플리케이션에 포함된 종속성을 확인하고 업데이트하여 새 Apache Flink 버전과 호환되는지 확인해야 합니다. 특히 Apache Flink 라이브러리, 커넥터 및 Scala 버전을 업데이트해야 합니다.

또한 업데이트를 진행하기 전에 업데이트된 애플리케이션을 테스트하는 것이 좋습니다. 회귀가 발생하지 않도록 대상 Apache Flink 런타임 버전을 사용하여 로컬 및 비프로덕션 환경에서 테스트하는 것이 좋습니다.

마지막으로, 애플리케이션이 상태 저장형인 경우 다음을 수행하는 것이 좋습니다. 스냅 사진 실행 중인 애플리케이션 상태. 이렇게 하면 이전 애플리케이션 버전으로 롤백할 수 있습니다.

준비가 되면 이제 다음을 사용할 수 있습니다. 업데이트 신청 API 작업 또는 업데이트-응용 프로그램 애플리케이션의 런타임 버전을 업데이트하고 업데이트된 종속성을 통해 새 애플리케이션 아티팩트, JAR 또는 zip 파일을 가리키도록 하는 AWS CLI 명령입니다.

프로세스 및 API에 대한 자세한 내용은 다음을 참조하세요. Apache Flink의 전체 버전 업그레이드. 설명서에는 업그레이드 프로세스를 안내하는 단계별 지침과 비디오가 포함되어 있습니다.

결론

이 게시물에서는 Apache Flink용 Amazon Managed Service에서 지원되는 Apache Flink의 몇 가지 새로운 기능을 살펴보았습니다. 이 목록은 포괄적이지 않습니다. Apache Flink는 또한 SQL 및 Table API를 위한 운영자 수준 TTL과 같은 몇 가지 매우 유망한 기능을 도입했습니다.플립-292] 및 시간여행 [플립-308], 그러나 이는 아직 API에서 지원되지 않으며 아직 사용자가 실제로 액세스할 수 없습니다. 이러한 이유로 우리는 이 게시물에서 해당 내용을 다루지 않기로 결정했습니다.

Apache Flink 1.18 지원으로 Apache Flink용 관리 서비스는 이제 최신 출시된 Apache Flink 버전을 지원합니다. Apache Flink 1.18에서 사용할 수 있는 몇 가지 흥미로운 새 기능과 새로운 커넥터를 살펴보고 Apache Flink용 관리 서비스가 기존 애플리케이션을 업그레이드하는 데 어떻게 도움이 되는지 살펴보았습니다.

Apache Flink 블로그 및 릴리스 노트에서 최신 릴리스에 대한 자세한 내용을 확인할 수 있습니다.

Apache Flink를 처음 사용하는 경우 다음을 권장합니다. 올바른 API 및 언어 선택 가이드 그리고 다음 시작 안내서 Apache Flink용 관리형 서비스 사용을 시작합니다.


저자에 관하여

로렌조 니코라로렌조 니코라 AWS에서 수석 스트리밍 솔루션 아키텍트로 일하며 EMEA 전역의 고객을 지원합니다. 그는 25년 넘게 클라우드 기반의 데이터 집약적 시스템을 구축해 왔으며 컨설팅 및 FinTech 제품 회사를 통해 금융 업계에서 일했습니다. 그는 오픈 소스 기술을 광범위하게 활용했으며 Apache Flink를 포함한 여러 프로젝트에 기여했습니다.

프란시스코 모릴로프란시스코 모릴로 AWS의 스트리밍 솔루션 아키텍트입니다. Francisco는 AWS 고객과 협력하여 고객이 AWS 서비스를 사용하여 실시간 분석 아키텍처를 설계하도록 돕고 Amazon MSK 및 Apache Flink용 Amazon Managed Service를 지원합니다.

spot_img

최신 인텔리전스

spot_img