Informazioni su Apache Flink® in Azure HDInsight su AKS (anteprima)

Nota

Azure HDInsight su AKS verrà ritirato il 31 gennaio 2025. Prima del 31 gennaio 2025, sarà necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare interruzioni improvvise dei carichi di lavoro. I cluster rimanenti nella sottoscrizione verranno arrestati e rimossi dall'host.

Importante

Questa funzionalità è attualmente disponibile solo in anteprima. Le Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure includono termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale. Per informazioni su questa anteprima specifica, vedere Informazioni sull'anteprima di Azure HDInsight nel servizio Azure Kubernetes. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguire Microsoft per altri aggiornamenti nella Community di Azure HDInsight.

Apache Flink è un framework e un motore di elaborazione distribuito per i calcoli con stato su flussi di dati non associati e delimitati. Flink è stato progettato per essere eseguito in tutti gli ambienti cluster comuni, eseguire calcoli e applicazioni di streaming con stato a velocità in memoria e su qualsiasi scala. Le applicazioni vengono parallelizzate in migliaia di attività distribuite ed eseguite simultaneamente in un cluster. Pertanto, un'applicazione può usare quantità illimitate di vCPU, memoria principale, disco e I/O di rete. Inoltre, Flink mantiene facilmente lo stato dell'applicazione di grandi dimensioni. L'algoritmo di checkpoint asincrono e incrementale garantisce un'influenza minima sulle latenze di elaborazione garantendo al tempo stesso la coerenza dello stato esattamente una volta.

Apache Flink è un motore di analisi altamente scalabile per l'elaborazione dei flussi.

Alcune delle principali funzionalità offerte da Flink sono:

  • Operazioni su flussi delimitati e non associati
  • Prestazioni in memoria
  • Possibilità sia per i calcoli di streaming che per i calcoli batch
  • Bassa latenza, operazioni ad alta velocità effettiva
  • Esattamente al momento dell'elaborazione
  • Disponibilità elevata
  • Stato e tolleranza di errore
  • Completamente compatibile con l'ecosistema Hadoop
  • API SQL unificate per flusso e batch

Diagramma dell'architettura Flink.

Apache Flink è un'ottima scelta per sviluppare ed eseguire molti tipi diversi di applicazioni grazie al set di funzionalità completo. Le funzionalità di Flink includono il supporto per l'elaborazione di flussi e batch, la gestione sofisticata dello stato, la semantica di elaborazione in fase di evento e garanzie di coerenza per lo stato esattamente una volta. Flink non ha un singolo punto di guasto. È stato dimostrato che Flink può ridimensionare fino a migliaia di core e terabyte di stato dell'applicazione, offre velocità effettiva elevata e bassa latenza e supporta alcune delle applicazioni di elaborazione dei flussi più impegnative al mondo.

  • Rilevamento delle frodi: Flink può essere usato per rilevare transazioni o attività fraudolente in tempo reale applicando regole complesse e modelli di Machine Learning sui dati di streaming.
  • Rilevamento anomalie: Flink può essere usato per identificare outlier o modelli anomali nei dati di streaming, ad esempio letture dei sensori, traffico di rete o comportamento dell'utente.
  • Avvisi basati su regole: Flink può essere usato per attivare avvisi o notifiche in base a condizioni o soglie predefinite sui dati di streaming, ad esempio temperatura, pressione o prezzi azionari.
  • Monitoraggio dei processi aziendali: Flink può essere usato per tenere traccia dello stato e delle prestazioni dei processi aziendali o dei flussi di lavoro in tempo reale, ad esempio evasione degli ordini, consegna o servizio clienti.
  • Applicazione Web (social network): Flink può essere usato per supportare le applicazioni Web che richiedono l'elaborazione in tempo reale dei dati generati dall'utente, ad esempio messaggi, like, commenti o raccomandazioni.

Altre informazioni sui casi d'uso comuni sono descritte nei Casi d'uso di Apache Flink

I cluster Apache Flink in HDInsight su AKS sono un servizio completamente gestito. I vantaggi della creazione di un cluster Flink in HDInsight su AKS sono elencati qui.

Funzionalità Descrizione
Facilità di creazione È possibile creare un nuovo cluster Flink in HDInsight in pochi minuti usando il portale di Azure, Azure PowerShell o l'SDK. Vedere Introduzione al cluster Apache Flink in HDInsight su AKS.
Semplicità di utilizzo I cluster Flink in HDInsight su AKS includono la gestione della configurazione basata sul portale e il ridimensionamento. Oltre all'API di gestione dei processi, si usa l'API REST o il portale di Azure per la gestione dei processi.
API REST I cluster Flink in HDInsight su AKS includono l'API di gestione dei processi, un metodo di invio di processi Flink basato sull'API REST per inviare e monitorare in remoto i processi nel portale di Azure.
Tipo di distribuzione Flink può eseguire applicazioni in modalità sessione o in modalità applicazione. Attualmente HDInsight su AKS supporta solo i cluster di sessione. È possibile eseguire più processi Flink in un cluster di sessione. La modalità app è disponibile nella roadmap per i cluster HDInsight su AKS
Supporto per metastore I cluster Flink in HDInsight su AKS possono supportare cataloghi con Metastore Hive in formati di file aperti diversi con checkpoint remoti ad Azure Data Lake Storage Gen2.
Supporto per l'archiviazione di Azure I cluster Flink in HDInsight possono usare Azure Data Lake Storage Gen2 come sink di file. Per altre informazioni su Data Lake Storage Gen2, vedere Azure Data Lake Storage Gen2.
Integrazione con servizi di Azure Il cluster Flink in HDInsight su AKS include un'integrazione con Kafka insieme a Hub eventi di Azure e Azure HDInsight. È possibile compilare applicazioni di streaming tramite Hub eventi o HDInsight.
Adattabilità HDInsight su AKS consente di ridimensionare i nodi del cluster Flink in base alla pianificazione con la funzionalità di scalabilità automatica. Vedere Ridimensionare automaticamente i cluster Azure HDInsight su AKS.
Back-end dello stato HDInsight nel servizio Azure Kubernetes utilizza RocksDB come StateBackend predefinito. RocksDB è un archivio chiave-valore permanente che si può incorporare per l'archiviazione veloce.
Checkpoint Il checkpoint è abilitato in HDInsight nei cluster del servizio Azure Kubernetes per impostazione predefinita. Le impostazioni predefinite in HDInsight nel servizio Azure Kubernetes mantengono gli ultimi cinque checkpoint nell'archiviazione permanente. In caso di errore del processo, il processo può essere riavviato dal checkpoint più recente.
Checkpoint incrementali RocksDB supporta checkpoint incrementali. È consigliabile usare checkpoint incrementali per stati di grandi dimensioni, è necessario abilitare questa funzionalità manualmente. L'impostazione di un valore predefinito in flink-conf.yaml: state.backend.incremental: true abilita i checkpoint incrementali, a meno che l'applicazione non esegua l'override di questa impostazione nel codice. Questa istruzione è true per impostazione predefinita. In alternativa, è possibile configurare questo valore direttamente nel codice (sostituisce l'impostazione predefinita di configurazione) EmbeddedRocksDBStateBackend` backend = new `EmbeddedRocksDBStateBackend(true);. Per impostazione predefinita, vengono mantenuti gli ultimi cinque checkpoint nella directory del checkpoint configurato. Questo valore può essere modificato cambiando la configurazione nella sezione di gestione della configurazione state.checkpoints.num-retained: 5

I cluster Apache Spark in HDInsight su AKS includono i componenti seguenti, disponibili nei cluster per impostazione predefinita.

Fare riferimento alla Roadmap per le novità in arrivo.

Flink pianifica i processi usando tre componenti distribuiti, Gestione processi, Gestione attività e Client processo, che vengono impostati in un modello Leader-Follower.

Processo Flink: un processo o un programma Flink è costituito da più attività. Le attività sono l'unità di base dell'esecuzione in Flink. Ogni attività Flink ha più istanze a seconda del livello di parallelismo e ogni istanza viene eseguita su una Gestione attività.

Gestione processi: la gestione processi funge da utilità di pianificazione e pianifica le attività nella Gestione attività.

Gestione attività: la gestione attività è dotata di uno o più slot per eseguire attività in parallelo.

Client processo: il client del processo comunica con la Gestione processi per inviare processi Flink

Interfaccia utente Web Flink: Flink offre un'interfaccia utente Web per controllare, monitorare ed eseguire il debug delle applicazioni in esecuzione.

Diagramma del processo Flink che mostra come interagiscono il processo, Gestione processi, Gestione attività e Client processo.

Riferimento