Generali

D: Cos'è il servizio gestito da Amazon per Apache Flink?
Grazie al servizio gestito da Amazon per Apache Flink puoi trasformare e analizzare i dati di streaming in tempo reale con Apache Flink. Apache Flink è un framework e motore open source per l'elaborazione dei flussi di dati. Il servizio gestito da Amazon per Apache Flink riduce la complessità della creazione, della gestione e dell'integrazione delle applicazioni Apache Flink con altri servizi AWS.
 
Il servizio gestito da Amazon per Apache Flink si occupa di tutte le operazioni necessarie per eseguire le applicazioni in streaming in modo continuo, dimensionando automaticamente le risorse in base al volume e alla velocità di trasmissione effettiva dei dati in entrata. Con il servizio gestito da Amazon per Apache Flink non ci sono server da gestire, tariffe minime né costi di impostazione e si pagano soltanto le risorse utilizzate dalle applicazioni in streaming.
 
D: Cosa si intende per elaborazione di flussi in tempo reale e a cosa serve?
Le aziende stanno acquisendo dati più velocemente che mai a causa di una crescita esplosiva delle origini dati in tempo reale. Che si tratti di gestire dati di log da applicazioni mobili e Web, dati di acquisto da piattaforme di e-commerce o dati di sensori da dispositivi IoT, acquisire i dati in tempo reale permette di comprendere le attività dei clienti, dell'azienda e del business in un preciso momento.
 
D: Cosa posso fare con il servizio gestito da Amazon per Apache Flink?
Puoi utilizzare il servizio gestito da Amazon per Apache Flink per molti casi d'uso per elaborare i dati in modo continuo e ottenere informazioni nel giro di pochi secondi o minuti, anziché attendere giorni o addirittura settimane. Il servizio gestito da Amazon per Apache Flink consente di creare rapidamente applicazioni complete di elaborazione di flussi in tempo reale, che operano con analisi di log, analisi di clickstream, Internet delle cose (IoT), tecnologie pubblicitarie, giochi e molto altro. I quattro casi di utilizzo più comuni sono l'ETL (Extract-Transform-Load) del flusso di dati, la generazione di metriche continue, l’analisi reattiva in tempo reale e l'esecuzione di query interattive dei flussi di dati.
 
Streaming ETL
Le applicazioni di streaming ETL consentono di ripulire, arricchire, organizzare e trasformare i dati grezzi prima di caricare il data lake o il data warehouse in tempo reale, riducendo o eliminando i passaggi ETL in batch. Queste applicazioni possono bufferizzare record di piccole dimensioni in file più grandi prima della consegna ed eseguire join sofisticati su flussi e tabelle. Ad esempio, puoi creare un'applicazione che legge continuamente i dati del sensore IoT memorizzati nello streaming gestito da Amazon per Apache Kafka (Amazon MSK), organizzare i dati in base al tipo di sensore, rimuovere i dati duplicati, normalizzare i dati in base a uno schema specificato e quindi consegnare i dati ad Amazon Simple Storage Service (Amazon S3).
 
Generazione continua dei parametri
Le applicazioni di generazione continua di parametri consentono di monitorare e scoprire i trend dei tuoi dati nel tempo. Le tue applicazioni possono aggregare i flussi di dati in informazioni cruciali e integrarli perfettamente con i database di reporting e i servizi di monitoraggio per servire le tue applicazioni e i tuoi utenti in tempo reale. Con il servizio gestito da Amazon per Apache Flink, puoi usare il codice di Apache Flink (in Java, Scala, Python o SQL) per generare continuamente analisi di serie temporali su finestre temporali. Ad esempio, puoi creare una classifica generale in cui vengono mostrati i giocatori con i punteggi più alti di un videogioco, il tutto in tempo reale, inviando quindi i dati ad Amazon DynamoDB. Oppure puoi monitorare il traffico sul tuo sito Web calcolando il numero univoco di visitatori ogni cinque minuti e inviando i risultati elaborati ad Amazon Redshift.
 
Analisi reattiva in tempo reale
Le applicazioni di analisi reattiva in tempo reale inviano notifiche o allarmi quando determinati parametri raggiungono le soglie predefinite, oppure, in casi più avanzati, quando l'applicazione rileva anomalie nell'utilizzo dell'algoritmo di machine learning (ML). Queste applicazioni ti consentono di rispondere immediatamente ai cambiamenti della tua attività in tempo reale, come ad esempio per prevedere l'abbandono degli utenti nelle app mobili e identificare i sistemi malfunzionanti. Ad esempio, un'applicazione può elaborare la disponibilità o la percentuale di successi di un'API utilizzata dai clienti nel corso del tempo e inviare i risultati ad Amazon CloudWatch. Puoi anche creare un'altra applicazione per individuare gli eventi che soddisfano determinati criteri, informando poi automaticamente i clienti specifici con il flusso di dati Amazon Kinesis e Amazon Simple Notification Service (Amazon SNS).
 
Analisi interattiva dei flussi di dati
L'analisi interattiva consente di eseguire lo streaming dell'esplorazione dei dati in tempo reale. Con query o programmi ad hoc è possibile ispezionare i flussi da Amazon MSK o dal flusso di dati Amazon Kinesis e visualizzare l'aspetto dei dati all'interno di questi flussi. Per esempio è possibile visualizzare come si comporta un parametro in tempo reale che calcola la media su una finestra temporale e inviare i dati aggregati a una destinazione a scelta. L'analisi interattiva contribuisce inoltre allo sviluppo iterativo delle applicazioni di elaborazione di flussi. Le query create si aggiornano continuamente con l'arrivo di nuovi dati. Con il servizio gestito da Amazon per Apache Flink Studio è possibile implementare queste query per l'esecuzione continua abilitando dimensionamento automatico e backup di stato durevoli. 
 

Nozioni di base

D: Come posso iniziare a usare le applicazioni Apache Flink per il servizio gestito da Amazon per Apache Flink?
Accedi alla console del servizio gestito da Amazon per Apache Flink e crea una nuova applicazione di elaborazione di flussi. Puoi anche usare AWS CLI e gli SDK AWS. Una volta che hai creato un'applicazione, vai nel tuo ambiente di sviluppo integrato preferito, collegati ad AWS e installa le librerie Apache Flink open source e i gli SDK AWS nel linguaggio di tua scelta. Apache Flink è un framework e motore open source per l'elaborazione dei flussi di dati e per gli SDK AWS. Le librerie estendibili includono più di 25 operatori di elaborazione del flusso preconfigurati come Finestra e Aggrega e integrazioni di servizi AWS come Amazon MSK, flusso di dati Amazon Kinesis, Amazon DynamoDB e Amazon Kinesis Data Firehose. Una volta creato, carica il codice nel servizio gestito da Amazon per Apache Flink. Il servizio si occupa di tutte le operazioni necessarie per eseguire le applicazioni in tempo reale in modo continuo, incluso il dimensionamento automatico delle risorse in base al volume e alla velocità di trasmissione effettiva dei dati in entrata. 
 
D: Come posso iniziare a usare le applicazioni Apache Beam per il servizio gestito da Amazon per Apache Flink?
Usare Apache Beam per creare la tua applicazione del servizio gestito da Amazon per Apache Flink è molto simile all'uso iniziale con Apache Flink. Puoi seguire le istruzioni nella domanda precedente. Assicurati di installare tutti i componenti necessari per l'esecuzione delle applicazioni su Apache Beam, seguendo le istruzioni riportate nella Guida per gli sviluppatori. Tieni presente che il servizio gestito da Amazon per Apache Flink supporta l'SDK Java solo quando è in esecuzione su Apache Beam. 
 
D: Come posso iniziare a usare il servizio gestito da Amazon per Apache Flink Studio?
Puoi iniziare dalla console del servizio gestito da Amazon per Apache Flink e creare un nuovo notebook Studio. Una volta avviato il notebook, potrai aprirlo in Apache Zeppelin per scrivere immediatamente linguaggio di programmazione in SQL, Python o Scala. È possibile sviluppare interattivamente applicazioni utilizzando l'interfaccia del notebook per il flusso di dati Amazon Kinesis, Amazon MSK e Amazon S3 tramite le integrazioni incorporate e varie altre origini con connettori personalizzati. Puoi usare tutti gli operatori che Apache Flink supporta in Flink SQL e l'API della tabella per eseguire query ad hoc sul flusso di dati e sviluppare la tua applicazione di elaborazione del flusso. Una volta pronto, con pochi clic sarà possibile facilmente spostare il codice in un'applicazione di elaborazione di flussi in esecuzione continua con dimensionamento automatico e stato durevole. 
 
D: Quali sono i limiti del servizio gestito da Amazon per Apache Flink?
Il servizio gestito da Amazon per Apache Flink dimensiona in modo elastico le risorse dell'applicazione per soddisfare la velocità di trasmissione effettiva dei dati del flusso di origine e la complessità delle query per la maggior parte degli scenari. Per informazioni dettagliate sui limiti dei servizi per le applicazioni Apache Flink, visita la sezione Limiti nella Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink. 
 
D: Il servizio gestito da Amazon per Apache Flink supporta la registrazione degli schemi?
Sì, tramite i connettori DataStream di Apache Flink, le applicazioni del servizio gestito da Amazon per Apache Flink possono utilizzare il registro degli schemi di AWS Glue, una funzionalità serverless di AWS Glue. È possibile integrare Apache Kafka, Amazon MSK e flusso di dati Amazon Kinesis, come sink o origine, con i carichi di lavoro del servizio gestito da Amazon per Apache Flink. Consulta la Guida per gli sviluppatori del registro degli schemi AWS Glue per saperne di più. 

Concetti chiave

D: Cos'è un'applicazione del servizio gestito da Amazon per Apache Flink?
Un'applicazione è l'entità del servizio gestito da Amazon per Apache Flink con cui si lavora. Le applicazioni del servizio gestito da Amazon per Apache Flink legge ed elabora continuamente i dati in streaming in tempo reale. Potrai scrivere il codice dell'applicazione in un linguaggio supportato da Apache Flink per elaborare i flussi di dati in entrata e creare un determinato risultato. Quindi, il servizio gestito da Amazon per Apache Flink scrive l'output in una destinazione configurata.
 
Ogni applicazione è composta da tre componenti principali:
 
  1. Input: l'origine del flusso per l'applicazione. Nella configurazione di input, mappa le origini di streaming ai flussi di dati. I dati fluiscono dalle origini dati ai flussi di dati. Per elaborare i dati di questi flussi utilizzi il codice dell'applicazione e invii i dati elaborati ai flussi o alle destinazioni successive in applicazione. Puoi aggiungere gli input all'interno del codice dell'applicazione per le applicazioni Apache Flink e i notebook Studio e tramite l'API per le applicazioni del servizio gestito da Amazon per Apache Flink. 
  2. Codice dell'applicazione: una serie di operatori Apache Flink che elaborano l'input e producono l'output. Nella sua forma più semplice, il codice dell'applicazione può essere un singolo operatore Apache Flink che legge da un flusso di dati in applicazione associato a un'origine del flusso e scrive su un flusso di dati in applicazione associato a un output. Per un notebook Studio può essere una semplice query di selezione di Flink SQL, con i risultati mostrati nel contesto del notebook. Puoi scrivere codice Apache Flink nei linguaggi supportati per le applicazioni del servizio gestito da Amazon per Apache Flink o notebook Studio.
  3. Output: è quindi possibile configurare facoltativamente l'output di un'applicazione per rendere persistenti i dati su una destinazione esterna. Aggiungi questi output all'interno del codice dell'applicazione per le applicazioni del servizio gestito da Amazon per Apache Flink e i notebook Studio. 

D: Quale codice applicativo è supportato?

Il servizio gestito da Amazon per Apache Flink supporta le applicazioni realizzate in Java, Scala e Python con le librerie Apache Flink open source e il codice personalizzato dell'utente. Il servizio gestito da Amazon per Apache Flink supporta inoltre le applicazioni realizzate in Java con le librerie Apache Beam open source e il tuo codice personalizzato dell'utente. Il servizio gestito da Amazon per Apache Flink Studio supporta codice creato utilizzando SQL, Python e Scala compatibili con Apache Flink.

Gestione delle applicazioni

D: Come posso monitorare le operazioni e le prestazioni delle mie applicazioni per il servizio gestito da Amazon per Apache Flink?
AWS offre numerosi strumenti che è possibile utilizzare per monitorare le applicazioni del servizio gestito da Amazon per Apache Flink, compreso l'accesso al pannello di controllo Flink per le applicazioni Apache Flink. Alcuni di questi strumenti possono essere configurati per monitorare le applicazioni in automatico. Per ulteriori informazioni su come monitorare la tua applicazione, consulta le seguenti guide per gli sviluppatori: 
 

D: Come posso gestire e controllare l'accesso alle mie applicazioni del servizio gestito da Amazon per Apache Flink?

Il servizio gestito da Amazon per Apache Flink deve disporre delle autorizzazioni di lettura per i record dalle origini dati in streaming che specifichi nella tua applicazione. Il servizio gestito da Amazon per Apache Flink deve inoltre disporre delle autorizzazioni di scrittura dell'output della tua applicazione nelle destinazioni specificate nella tua configurazione di output dell'applicazione. Puoi concedere queste autorizzazioni creando ruoli AWS Identity and Access Management (IAM) che possono essere assunti dal servizio gestito da Amazon per Apache Flink. Le autorizzazioni concesse a questo ruolo determinano cosa può fare il servizio gestito da Amazon per Apache Flink quando assume il ruolo. Per ulteriori informazioni, consulta le seguenti guide per gli sviluppatori:

D: In che modo il servizio gestito da Amazon per Apache Flink dimensiona la mia applicazione?

Il servizio gestito da Amazon per Apache Flink dimensiona in modo elastico le risorse dell'applicazione per soddisfare la velocità di trasmissione effettiva dei dati del flusso di origine e la complessità delle query per la maggior parte degli scenari. Il servizio gestito da Amazon per Apache Flink fornisce capacità sotto forma di Amazon KPU. Una KPU fornisce 1 vCPU e 4 GB di memoria. 

Per le applicazioni Apache Flink e i notebook Studio, il servizio gestito da Amazon per Apache Flink assegna 50 GB di archiviazione delle applicazioni in esecuzione per KPU che l'applicazione utilizza per i checkpoint e che può essere utilizzato tramite il disco temporaneo. Un checkpoint è un backup aggiornato di un'applicazione in esecuzione che viene utilizzato per il ripristino subito dopo l'interruzione dell'applicazione. Puoi anche controllare l'esecuzione parallela per le attività delle applicazioni del servizio gestito da Amazon per Apache Flink (come la lettura da un'origine o l'esecuzione di un operatore) utilizzando i parametri Parallelism e ParallelismPerKPU nell'API. Parallelism definisce il numero di istanze concomitanti di un'attività. Tutti gli operatori, le origini e i sink vengono eseguiti con un determinato parallelismo, per impostazione predefinita, 1. ParallelismPerKPU definisce quante attività parallele possono essere pianificate per KPU della tua applicazione, per impostazione predefinita, 1. Per ulteriori informazioni, consulta Dimensionamento nella Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink. 
 
D: Quali sono le best practice associate alla creazione e alla gestione delle mie applicazioni del servizio gestito da Amazon per Apache Flink?
Per scoprire di più sulle best practice per Apache Flink, vai alla sezione Best practice della Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink. Questa sezione spiega le best practice per la tolleranza ai guasti, le prestazioni, il logging, il codice e molto altro. 
 
Per informazioni sulle best practice per il servizio gestito da Amazon per Apache Flink Studio, consulta la sezione Best practice della Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink Studio. Oltre le best practice, in questa sezione descrive gli esempi per le applicazioni SQL, Python e Scala, i requisiti per implementare il tuo codice come applicazione di elaborazione di flussi in esecuzione continua, le prestazioni, la registrazione e altro.
 
D: Posso accedere alle risorse dietro un Amazon VPC con un'applicazione del servizio gestito da Amazon per Apache Flink?
Sì. Puoi accedere alle risorse dietro un Amazon VPC. Scopri come configurare l'applicazione per l'accesso al VPC nella sezione Utilizzo di un Amazon VPC della Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink.
 
D: Un'unica applicazione del servizio gestito da Amazon per Apache Flink può avere accesso a più VPC?
No. Se sono specificate più sottoreti, devono trovarsi tutte nello stesso VPC. Puoi connetterti ad altri VPC tramite connessioni peer ai VPC.
 
D: Un'applicazione del servizio gestito da Amazon per Apache Flink connessa a un VPC può accedere a Internet e agli endpoint dei servizi AWS?
Le applicazioni del servizio gestito da Amazon per Apache Flink e i notebook del servizio gestito da Amazon per Apache Flink Studio configurati per accedere alle risorse in un particolare VPC non hanno accesso a Internet come configurazione predefinita. Scopri come configurare l'accesso a Internet per la tua applicazione nella sezione Accesso a Internet e al servizio della Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink.

Prezzi e fatturazione

D: Quanto costa il servizio gestito da Amazon per Apache Flink?
Con il servizio gestito da Amazon per Apache Flink, paghi solo per ciò che usi. Non è necessario effettuare il provisioning delle risorse e non sono previsti costi anticipati per il servizio gestito da Amazon per Apache Flink. 

Viene addebitata una tariffa oraria calcolata sul numero medio di unità di elaborazione di Amazon KPU utilizzate per eseguire l'applicazione di elaborazione dei flussi. Una KPU è un'unità di capacità di elaborazione dei flussi composta da 4 GB di memoria e 1 vCPU. Il servizio gestito da Amazon per Apache Flink dimensiona automaticamente il numero di KPU richieste dall'applicazione di elaborazione dei flussi man mano che le esigenze di memoria e calcolo variano in risposta alla complessità di elaborazione e alla velocità di trasmissione effettiva dei dati in streaming elaborati. 
 
Per le applicazioni Apache Flink e Apache Beam, viene addebitata una singola KPU in più per applicazione, utilizzata per l'orchestrazione delle applicazioni. Alle applicazioni Apache Flink e Apache Beam viene addebitata anche l'esecuzione dello storage delle applicazioni e dei loro backup durevoli. L'esecuzione dell'archiviazione delle applicazioni è usata per le funzionalità di elaborazione con stato nel servizio gestito da Amazon per Apache Flink e viene addebitata per GB al mese. I backup durevoli delle applicazioni sono opzionali e forniscono un punto di ripristino point-in-time per le applicazioni, con addebito per GB al mese. 
 
Per il servizio gestito da Amazon per Apache Flink Studio in modalità di sviluppo o interattiva, ti viene addebitata una KPU aggiuntiva per l'orchestrazione delle applicazioni e una per lo sviluppo interattivo. Ti viene anche addebitato il costo dell'archiviazione delle applicazioni. Non ti vengono addebitati costi per i backup durevoli delle applicazioni.
 
Per ulteriori informazioni sui prezzi, consulta la pagina dei prezzi del servizio gestito da Amazon per Apache Flink.
 
D: Mi viene addebitato un costo per un'applicazione del servizio gestito da Amazon per Apache Flink che è in esecuzione ma non elabora alcun dato dall'origine?
Per le applicazioni Apache Flink e Apache Beam, se l'applicazione del servizio gestito da Amazon per Apache Flink è in esecuzione ti verranno addebitati almeno due KPU e 50 GB di archiviazione dell'applicazione in esecuzione.
 
Per i notebook del servizio gestito da Amazon per Apache Flink Studio, se l'applicazione è in esecuzione ti viene addebitato un minimo di 3 KPU e 50 GB di spazio di archiviazione dell'applicazione in esecuzione.
 
D: Oltre ai costi del servizio gestito da Amazon per Apache Flink, ci sono altri costi che potrei dover sostenere?
Il servizio gestito da Amazon per Apache Flink è una soluzione di elaborazione dei flussi completamente gestita e indipendente sia dall'origine del flusso da cui esegue la lettura dei dati sia dalle destinazioni in cui esegue la scrittura dei dati elaborati. Ti verranno addebitati in modo indipendente i servizi da cui leggi e in cui scrivi nella tua applicazione.
 
D: Il servizio gestito da Amazon per Apache Flink è disponibile nel piano gratuito AWS?
No. Il servizio gestito da Amazon per Apache Flink non è attualmente disponibile nel piano gratuito AWS.
D: Cos'è Apache Flink?
Apache Flink è un framework e un motore open-source per l'elaborazione dei dati in batch e in flussi. Semplifica lo sviluppo di applicazioni di streaming, poiché fornisce operatori potenti e risolve molto bene i problemi chiave dei flussi come l'elaborazione duplicata. Apache Flink fornisce la distribuzione dei dati, la comunicazione e la tolleranza ai guasti per i calcoli distribuiti sui flussi di dati.
 
D: Come faccio a sviluppare le applicazioni?
Puoi iniziare scaricando le librerie open source che includono gli SDK AWS, Apache Flink e i connettori per i servizi AWS. Puoi ottenere istruzioni su come scaricare le librerie e creare la prima applicazione nella Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink.
 
D: Qual è l'aspetto del codice dell'applicazione?
Scrivi il codice Apache Flink utilizzando flussi di dati e operatori di flussi. I flussi di dati dell'applicazione sono la struttura dei dati rispetto ai quali esegui l'elaborazione utilizzando il tuo codice. I dati fluiscono continuamente dalle origini nei flussi di dati dell'applicazione. Uno o più operatori di flusso sono usati per definire l'elaborazione sui flussi di dati dell'applicazione, inclusi trasforma, partiziona, aggrega, unisci e finestra. I flussi di dati e gli operatori possono essere raggruppati in catene seriali e parallele. Di seguito è riportato un breve esempio in cui viene usato pseudo codice.
DataStream <GameEvent> rawEvents = env.addSource(
 New KinesisStreamSource(“input_events”));
DataStream <UserPerLevel> gameStream =
 rawEvents.map(event - > new UserPerLevel(event.gameMetadata.gameId, 
   event.gameMetadata.levelId,event.userId));
gameStream.keyBy(event -> event.gameId)
            .keyBy(1)
            .window(TumblingProcessingTimeWindows.of(Time.minutes(1)))
            .apply(...) - > {...};
gameStream.addSink(new KinesisStreamSink("myGameStateStream"));
D: Come si utilizzano gli operatori Apache Flink?
Gli operatori prendono il flusso di dati di un'applicazione come input e inviano i dati elaborati al flusso di dati di un'applicazione come output. Gli operatori possono essere connessi per creare applicazioni con più passaggi e non richiedono conoscenze avanzate dei sistemi distribuiti da implementare e utilizzare.
 
D: Quali operatori sono supportati?
Il servizio gestito da Amazon per Apache Flink supporta tutti gli operatori di Apache Flink e può essere utilizzato per risolvere un'ampia varietà di casi d'uso tra cui map, KeyBy, aggregazioni, finestre, join e altro ancora. Ad esempio, l'operatore Map ti consente di eseguire un'elaborazione arbitraria, prendendo un elemento da un flusso di dati in entrata e producendo un altro elemento. KeyBy organizza logicamente i dati utilizzando la chiave specificata in modo da poter elaborare assieme punti di dati simili. Aggregations esegue l'elaborazione su più chiavi come somma, min e max. Window Join unisce due flussi di dati su una determinata chiave e finestra. 

Se questi operatori non rispondono alle tue esigenze, puoi crearne di personalizzati. Puoi trovare altri esempi nella sezione Operatori della Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink. Puoi trovare un elenco completo di operatori di Apache Flink nella documentazione di Apache Flink
 
D: Quali integrazioni sono supportate in un'applicazione del servizio gestito da Amazon per Apache Flink?
Puoi impostare integrazioni preconfigurate da Apache Flink con un codice minimo o creare la tua integrazione per connetterti virtualmente a qualsiasi origine dati. Le librerie open source basate su Apache Flink supportano origini e destinazioni di flussi di dati, o sink, per elaborare la consegna dei dati. Ciò include anche il supporto per l'arricchimento dei dati tramite connettori di input/output (I/O) asincroni. Alcune di queste sfide includono quanto segue:
 
  • Origini dati dello streaming: Streaming gestito da Amazon per Apache Kafka (Amazon MSK), destinazioni del flusso di dati Amazon Kinesis o sink: flusso di dati Amazon Kinesis
  • Amazon Kinesis Data Firehose, Amazon DynamoDB, Amazon Elasticsearch Service e Amazon S3 (tramite integrazioni dei sink di file)

D: Le applicazioni del servizio gestito da Amazon per Apache Flink possono replicare i dati tra flussi e argomenti?

Sì. Puoi usare le applicazioni del servizio gestito da Amazon per Apache Flink per replicare i dati fra i flussi di dati Amazon Kinesis, Amazon MSK e altri sistemi. Un esempio fornito nella nostra documentazione dimostra come leggere da un argomento Amazon MSK e scrivere a un altro.
 
D: Le integrazioni personalizzate sono supportate?
Puoi aggiungere un'origine o una destinazione alla tua applicazione sfruttando una serie di primitive che ti consentono di leggere e scrivere da file, directory, socket o qualsiasi altra cosa a cui puoi accedere tramite Internet. Apache Flink fornisce queste primitive per fonti dati e sink di dati. Le primitive sono accompagnate da configurazioni come la capacità di leggere e scrivere dati in modo continuo o una volta, in modo asincrono o sincrono e molto altro. Ad esempio, puoi impostare un'applicazione in modo da leggere continuamente da Amazon S3 estendendo l'integrazione dell'origine basata su file esistente.
 
D: Quale modello di distribuzione ed elaborazione forniscono le applicazioni del servizio gestito da Amazon per Apache Flink?
Le applicazioni Apache Flink nel servizio gestito da Amazon per Apache Flink usano un modello di erogazione di tipo "esattamente una volta" se un'applicazione viene costruita usando operatori idempotenti, incluse origini e sink. Ciò significa che i dati elaborati avranno un impatto sui risultati a valle una sola volta.
 
Per impostazione predefinita, le applicazioni del servizio gestito da Amazon per Apache Flink usano la semantica "esattamente una volta" di Apache Flink. La tua applicazione supporterà questa semantica di elaborazione se progetti le tue applicazioni usando origini, operatori e sink che utilizzano la semantica "esattamente una volta" di Apache Flink.
 
D: Posso accedere allo spazio di archiviazione locale da quello della mia applicazione?
Sì. Le applicazioni del servizio gestito da Amazon per Apache Flink forniscono all'applicazione 50 GB di spazio di archiviazione delle applicazioni in esecuzione per KPU. Il servizio gestito da Amazon per Apache Flink dimensiona lo spazio di archiviazione in base alla tua applicazione. Lo spazio di archiviazione delle applicazioni in esecuzione viene utilizzato per salvare lo stato dell'applicazione tramite i checkpoint. Tale spazio a accessibile anche al codice della tua applicazione che lo utilizza come disco temporaneo per memorizzare nella cache i dati o per qualsiasi altro scopo. Il servizio gestito da Amazon per Apache Flink può rimuovere i dati dallo spazio di archiviazione delle applicazioni in esecuzione non salvati tramite checkpoint (come operatori, origini, sink) in qualsiasi momento. Tutti i dati memorizzati nello spazio di archiviazione dell'applicazione in esecuzione sono crittografati a riposo.
 
D: In che modo il servizio gestito da Amazon per Apache Flink esegue automaticamente il backup della mia applicazione?
Il servizio gestito da Amazon per Apache Flink esegue automaticamente il backup dello stato dell'applicazione in esecuzione utilizzando checkpoint e snapshot. I checkpoint salvano lo stato dell'applicazione corrente e abilitano le applicazioni del servizio gestito da Amazon per Apache Flink per il recupero della posizione dell'applicazione in modo da fornire la stessa semantica di un'esecuzione senza errori. I checkpoint utilizzano lo spazio di archiviazione dell'applicazione in esecuzione. I checkpoint per le applicazioni Apache Flink vengono forniti tramite la funzionalità checkpointing di Apache Flink. Gli snapshot salvano un punto di ripristino point-in-time per le applicazioni e utilizzano backup durevoli delle applicazioni. Gli snapshot sono analoghi ai savepoint Flink.
 
D: Cosa sono gli snapshot dell'applicazione?
Gli snapshot ti consentono di creare e ripristinare la tua applicazione com'era in un determinato momento passato. Puoi così mantenere lo stato dell'applicazione precedente ed eseguirne il rollback in qualsiasi momento. Sei tu a controllare gli snapshot in un determinato momento e puoi averne da zero a migliaia. Gli snapshot utilizzano backup durevoli delle applicazioni e il servizio gestito da Amazon per Apache Flink ti addebita in base alle loro dimensioni. Per impostazione predefinita, il servizio gestito da Amazon per Apache Flink crittografa i dati salvati negli snapshot. Puoi cancellare singoli snapshot tramite API o puoi cancellarli tutti eliminando l'applicazione.
 
D: Quali versioni di Apache Flink sono supportate?
Per ulteriori informazioni sulle versioni supportate di Apache Flink, visita la pagina delle Note di rilascio del servizio gestito da Amazon per Apache Flink. Questa pagina include anche le versioni degli SDK Apache Beam, Java, Scala, Python e AWS supportate dal servizio gestito da Amazon per Apache Flink. 
 
D: Le applicazioni del servizio gestito da Amazon per Apache Flink possono eseguire Apache Beam?
Sì, il servizio gestito da Amazon per Apache Flink supporta le applicazioni streaming create con Apache Beam. Puoi creare applicazioni di streaming Apache Beam in Java ed eseguirle in diversi motori e servizi, incluso Apache Flink sul servizio gestito da Amazon per Apache Flink. Puoi trovare informazioni sulle versioni supportate di Apache Flink e Apache Beam nella Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink

D: Come faccio a sviluppare un'applicazione Studio?
Puoi iniziare dalle console del servizio gestito da Amazon per Apache Flink Studio, del flusso di dati Amazon Kinesis o di Amazon MSK e lanciare un notebook serverless con poche operazioni ed eseguire immediatamente query sui flussi di dati e analisi interattive dei dati.
 
Analisi interattiva dei dati: puoi scrivere codice nel notebook in SQL, Python o Scala per interagire con i tuoi dati in streaming, con tempi di risposta delle query nell'ordine dei secondi. Puoi usare le visualizzazioni incorporate per esplorare i dati e visualizzare approfondimenti in tempo reale sui tuoi dati in streaming dall'interno del notebook e sviluppare facilmente applicazioni di elaborazione di flussi supportate da Apache Flink.

Una volta che il tuo codice è pronto per essere eseguito come applicazione di produzione, puoi passare con una sola operazione a un'applicazione di elaborazione di flussi che elabora gigabyte di dati al secondo, senza l'uso di server.

Applicazione di elaborazione dei flussi: una volta che sei pronto a promuovere il tuo codice alla produzione, puoi crearlo facendo clic su "Implementa come applicazione di elaborazione dei flussi" nell'interfaccia del notebook o emettendo un singolo comando nella CLI. Studio si occupa di tutta la gestione dell'infrastruttura necessaria per eseguire l'applicazione di elaborazione di flussi su larga scala, con dimensionamento automatico e stato durevole abilitati, proprio come in un'applicazione del servizio gestito da Amazon per Apache Flink.

D: Qual è l'aspetto del codice dell'applicazione?
Puoi scrivere codice nel notebook nel tuo linguaggio preferito, SQL, Python o Scala, usando la Table API di Apache Flink. L'API Table è un'astrazione di alto livello e un'API relazionale che supporta un soprainsieme delle capacità di SQL. Offre operazioni comuni come seleziona, filtra, unisci, raggruppa, aggrega e così via, insieme a concetti specifici dei flussi come il windowing. Si utilizza % per specificare il linguaggio da usare in una sezione del notebook e puoi passare facilmente da un linguaggio a un altro. Gli interpreti sono plug-in di Apache Zeppelin che permettono agli sviluppatori di specificare un linguaggio o un motore di elaborazione dati per ogni sezione del notebook. Puoi anche costruire funzioni definite dall'utente e utilizzarle come riferimento per migliorare la funzionalità del codice.

D: Quali operazioni SQL sono supportate?
È possibile eseguire operazioni SQL come le seguenti:

  • Scansione e filtro (SELECT, WHERE) 
  • Aggregazioni (GROUP BY, GROUP BY WINDOW, HAVING) 
  • Impostazione (UNION, UNIONALL, INTERSECT, IN, EXISTS) 
  • Ordinamento (ORDER BY, LIMIT) 
  • Unioni (INNER, OUTER, Timed Window - BETWEEN e AND, Joining with Temporal Tables, tabelle che tengono traccia delle modifiche nel tempo)
  • Top-N
  • Deduplicazione
  • Riconoscimento dei pattern 

Alcune di queste query come GROUP BY, OUTER JOIN, e Top-N sono i risultati in aggiornamento per i dati in streaming, il che significa che i risultati vengono continuamente aggiornati mentre i dati in streaming vengono elaborati. Sono supportate anche altre istruzioni DDL come CREATE, ALTER e DROP. Per un elenco completo di query ed esempi, consulta Query di Apache Flink.

Q: Come sono supportati Python e Scala?

La Table API di Apache Flink supporta Python e Scala attraverso l'integrazione dei linguaggi usando stringhe Python ed espressioni Scala. Le operazioni supportate sono molto simili a quelle di SQL, tra cui seleziona, ordina, raggruppa, unisci, filtra e windowing. L'elenco completo delle operazioni e degli esempi è incluso nella nostra guida per gli sviluppatori.

D: Quali versioni di Apache Flink e Apache Zeppelin sono supportate?

Per ulteriori informazioni sulle versioni supportate di Apache Flink, visita la pagina delle Note di rilascio del servizio gestito da Amazon per Apache Flink. Questa pagina include anche le versioni degli SDK Apache Zeppelin, Apache Beam, Java, Scala, Python e AWS supportate dal servizio gestito da Amazon per Apache Flink.

D: Quali integrazioni sono supportate per impostazione predefinita in un'applicazione del servizio gestito da Amazon per Apache Flink?

  • Origini dati: Streaming gestito da Amazon per Apache Kafka (Amazon MSK), flusso di dati Amazon Kinesis, Amazon S3 
  • Destinazioni o sink: Amazon MSK, Amazon Kinesis Data Streams e Amazon S3

D: Le integrazioni personalizzate sono supportate?
Con qualche altro passaggio e riga di codice Apache Flink (Python, Scala o Java) puoi configurare integrazioni aggiuntive e definire connessioni con tutte le integrazioni supportate da Apache Flink. Ciò include destinazioni come il servizio OpenSearch di Amazon, Amazon ElastiCache per Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces e altro ancora. Puoi collegare gli eseguibili per questi connettori personalizzati quando crei o configuri la tua applicazione del servizio gestito da Amazon per Apache Flink Studio.

Accordo sul livello di servizio (SLA)

D: Cosa garantisce lo SLA del servizio gestito da Amazon per Apache Flink?

Il nostro accordo sul livello di servizio (SLA) per il servizio gestito da Amazon per Apache Flink garantisce una percentuale di uptime mensile di almeno il 99,9%.

D: Come posso sapere se ho diritto a un credito di assistenza SLA?

Hai diritto a un credito di assistenza SLA per il servizio gestito da Amazon per Apache Flink ai sensi dello SLA del per il servizio gestito da Amazon per Apache Flink se più di una zona di disponibilità in cui esegui un'attività, all'interno della stessa Regione AWS, ha una percentuale di uptime mensile inferiore al 99,9% durante qualsiasi ciclo di fatturazione mensile. Per dettagli completi sui termini e le condizioni dello SLA e per indicazioni sulla presentazione di una richiesta, consulta la pagina dei dettagli relativa allo SLA del servizio gestito da Amazon per Apache Flink.

Nozioni di base su Analisi dei dati Amazon Kinesis

Visita la pagina dei prezzi di Amazon Kinesis Data Analytics
Calcola i costi

Visita la pagina dei prezzi di Analisi dei dati Amazon Kinesis.

Read the documentation
Consulta la Guida alle operazioni di base

Scopri come usare Amazon Kinesis Data Analytics con questa guida dettagliata per SQL o Apache Flink.

Inizia a lavorare nella console
Inizia a creare applicazioni di streaming

Crea la tua prima applicazione di streaming tramite la console di Amazon Kinesis Data Analytics.