Crea pipeline di streaming end-to-end con gli schemi di Servizio gestito da Amazon per Apache Flink con un solo clic. Ulteriori informazioni.
Generali
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
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.
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
- 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.
- 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.
- 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?
Gestione delle applicazioni
- Monitoraggio del servizio gestito da Amazon per Apache Flink nella Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink.
- Monitoraggio del servizio gestito da Amazon per Apache Flink nella Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink Studio.
D: Come posso gestire e controllare l'accesso alle mie applicazioni del servizio gestito da Amazon per Apache Flink?
- Concessione delle autorizzazioni nella Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink.
- Concessione delle autorizzazioni nella Guida per gli sviluppatori del servizio gestito da Amazon per Apache Flink Studio.
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.
Prezzi e fatturazione
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.
Creazione di applicazioni Apache Flink
Scrittura del codice dell'applicazione per applicazioni che utilizzano Apache Flink nel tuo IDE
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"));
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.
- 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?
Creazione di applicazioni del servizio gestito da Amazon per Apache Flink Studio in un notebook gestito
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 Analisi dei dati Amazon Kinesis.
Scopri come usare Amazon Kinesis Data Analytics con questa guida dettagliata per SQL o Apache Flink.
Crea la tua prima applicazione di streaming tramite la console di Amazon Kinesis Data Analytics.