Cos'è Amazon Managed Service per Apache Flink? - Servizio gestito per Apache Flink

Il servizio gestito da Amazon per Apache Flink era precedentemente noto come Analisi dei dati Amazon Kinesis per Apache Flink.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Cos'è Amazon Managed Service per Apache Flink?

Con Amazon Managed Service for Apache Flink, puoi usare Java, Scala, Python o elaborare e analizzare dati SQL in streaming. Il servizio consente di creare ed eseguire codice su sorgenti di streaming e fonti statiche per eseguire analisi di serie temporali, alimentare dashboard e metriche in tempo reale.

Puoi creare applicazioni con il linguaggio che preferisci in Managed Service for Apache Flink utilizzando librerie open source basate su Apache Flink. Apache Flink è un celebre framework e motore per l’elaborazione di flussi di dati.

Il servizio gestito per Apache Flink provvede alla creazione della struttura di base per le applicazioni Apache Flink. Gestisce funzionalità di base come il provisioning delle risorse di calcolo, la resilienza del failover AZ, il calcolo parallelo, la scalabilità automatica e i backup delle applicazioni (implementati come checkpoint e snapshot). È possibile utilizzare le funzionalità di programmazione di alto livello di Flink (che includono operatori, funzioni, origini e sink) nello stesso modo in cui le si utilizza quando si ospita l'infrastruttura Flink direttamente.

Hai due opzioni per eseguire i tuoi job Flink con Amazon Managed Service for Apache Flink. Con Managed Service for Apache Flink, puoi creare applicazioni Flink in Java, Scala o Python (e integrateSQL) utilizzando uno IDE a tua scelta e Apache Flink Datastream o Table. APIs Con Managed Service for Apache Flink Studio, puoi interrogare in modo interattivo i flussi di dati in tempo reale e creare ed eseguire facilmente applicazioni di elaborazione dei flussi utilizzando standard, SQL Python e Scala.

Puoi selezionare il metodo più adatto al tuo caso d'uso. Se non sei sicuro, questa sezione offrirà una guida di alto livello per aiutarti.

Decision tree for selecting Flink application, Deployed Studio application, or Studio Notebook based on use case and programming experience.

Prima di decidere se utilizzare Amazon Managed Service per Apache Flink o Amazon Managed Service per Apache Flink Studio, dovresti considerare il tuo caso d'uso.

Se prevedi di utilizzare un'applicazione a lunga durata che eseguirà carichi di lavoro come lo streaming ETL o le applicazioni continue, dovresti prendere in considerazione l'utilizzo di Managed Service per Apache Flink. Questo perché puoi creare la tua applicazione Flink utilizzando Flink APIs direttamente nel file di tua scelta. IDE Lo sviluppo locale con il tuo garantisce IDE inoltre di poter sfruttare processi e strumenti comuni del ciclo di vita dello sviluppo del software (SDLC) come il controllo delle versioni del codice in Git, l'automazione CI/CD o il test delle unità.

Se sei interessato all'esplorazione dei dati ad hoc, desideri interrogare i dati di streaming in modo interattivo o creare dashboard private in tempo reale, Managed Service for Apache Flink Studio ti aiuterà a raggiungere questi obiettivi in pochi clic. Gli utenti che lo conoscono possono prendere in considerazione l'implementazione di un'applicazione a lunga durata direttamente da SQL Studio.

Nota

Puoi promuovere il tuo notebook Studio a un'applicazione a lunga durata. Tuttavia, se desideri integrarti con i tuoi SDLC strumenti come il controllo delle versioni del codice su Git e l'automazione CI/CD o con tecniche come il test unitario, ti consigliamo Managed Service for Apache Flink utilizzando il servizio che preferisci. IDE

Puoi creare applicazioni utilizzando Java, Python e Scala in Managed Service for Apache Flink usando Apache Flink in un ambiente a tua sceltaAPIs. IDE Puoi trovare indicazioni su come creare applicazioni utilizzando Flink Datastream and Table nella documentazione. API È possibile selezionare la lingua in cui creare l'applicazione Flink e quella da APIs utilizzare per soddisfare al meglio le esigenze dell'applicazione e delle operazioni. Se non siete sicuri, questa sezione fornisce una guida di alto livello per aiutarvi.

Gli Apache Flink APIs hanno diversi livelli di astrazione che possono influire sul modo in cui decidi di creare la tua applicazione. Sono espressivi e flessibili e possono essere usati insieme per creare un'applicazione. Non è necessario utilizzare un solo API Flink. Puoi saperne di più su Flink APIs nella documentazione di Apache Flink.

Flink offre quattro livelli di API astrazione: FlinkSQL, Table e Process Function API DataStream API, che viene utilizzato insieme a. DataStream API Sono tutte supportate in Amazon Managed Service for Apache Flink. È consigliabile iniziare con un livello di astrazione più elevato ove possibile, tuttavia alcune funzionalità di Flink sono disponibili solo con Datastream API dove è possibile creare l'applicazione in Java, Python o Scala. Dovresti prendere in considerazione l'utilizzo di Datastream se: API

  • È necessario un controllo granulare sullo stato

  • Desiderate sfruttare la possibilità di chiamare un database o un endpoint esterno in modo asincrono (ad esempio per l'inferenza)

  • Desiderate utilizzare timer personalizzati (ad esempio per implementare finestre personalizzate o la gestione degli eventi tardivi)

  • Vuoi essere in grado di modificare il flusso della tua applicazione senza reimpostare lo stato

Apache Flink APIs diagram showing abstraction levels and programming languages for different APIs.
Nota

Scelta di una lingua con: DataStream API

  • SQLpuò essere incorporato in qualsiasi applicazione Flink, indipendentemente dal linguaggio di programmazione scelto.

  • Se hai intenzione di utilizzare DataStream API, non tutti i connettori sono supportati in Python.

  • Se hai bisogno di bassa latenza/alta velocità di trasmissione, dovresti prendere in considerazione Java/Scala indipendentemente da. API

  • Se si prevede di utilizzare Async IO nelle funzioni di processo, sarà necessario utilizzare Java. API

La scelta di API può influire anche sulla capacità di far evolvere la logica dell'applicazione senza dover reimpostare lo stato. Ciò dipende da una funzionalità specifica, la possibilità di impostare UID gli operatori, disponibile solo in Java e Python. DataStream API Per ulteriori informazioni, consulta Set UUIDs For All Operators nella documentazione di Apache Flink.

Inizia a usare le applicazioni di streaming di dati

Innanzitutto, è consigliabile creare un'applicazione del servizio gestito per Apache Flink che legga ed elabori in maniera continua i dati in streaming. Quindi, crea il codice usando quello IDE che preferisci e testalo con dati di streaming live. È inoltre possibile configurare le destinazioni a cui si desidera che il servizio gestito per Apache Flink invii i risultati.

Per iniziare, consigliamo di consultare le sezioni seguenti:

In alternativa, puoi iniziare creando un notebook Managed Service for Apache Flink Studio che ti permetta di interrogare interattivamente i flussi di dati in tempo reale e di creare ed eseguire facilmente applicazioni di elaborazione dei flussi utilizzando standard, SQL Python e Scala. Con pochi clic AWS Management Console, puoi avviare un notebook serverless per interrogare i flussi di dati e ottenere risultati in pochi secondi. Per iniziare, consigliamo di consultare le sezioni seguenti: