Domande generali

D: Cos'è Amazon Kinesis Data Analytics?
Amazon Kinesis Data Analytics è il mezzo più semplice per trasformare e analizzare flussi di dati in tempo reale con Apache Flink. Apache Flink è un framework e motore open source per l'elaborazione dei flussi di dati. Kinesis Data Analytics riduce la complessità della creazione, della gestione e dell'integrazione delle applicazioni Apache Flink con altri servizi AWS.
 
Kinesis Data Analytics si occupa di tutte le operazioni necessarie per eseguire le applicazioni in streaming in modo continuo, ridimensionando automaticamente le risorse in base al volume e alla velocità di effettiva dei dati in entrata. Con Kinesis Data Analytics 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 registri di dati 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 è possibile fare con Kinesis Data Analytics?
Puoi utilizzare Kinesis Data Analytics 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. Kinesis Data Analytics consente di creare rapidamente applicazioni complete di elaborazione di flussi in tempo reale, che operano con analisi di log, analisi di clickstream, Internet of Things (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 in Amazon Managed Streaming 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 metrica continua
Le applicazioni di generazione continua di parametri consentono di monitorare e scoprire i trend dei tuoi dati nel corso del 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 Kinesis Data Analytics, puoi usare codice SQL o Apache Flink per generare analisi dei dati di serie temporali in modo continuo 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 di visitatori unici ogni cinque minuti e inviando i risultati 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 prevedere l'abbandono degli utenti nelle app mobili e identificare i sistemi deteriorati. Ad esempio, un'applicazione può elaborare la disponibilità o la percentuale di successi di un'API utilizzata dai clienti nel corso del tempo, inviando 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 Amazon Kinesis Data Streams e Amazon Simple Notification Service (SNS).
 
Analisi interattiva dei flussi di dati
L'analisi interattiva permette l'esplorazione dei dati in streaming in tempo reale. Con query o programmi ad hoc è possibile ispezionare i flussi da Amazon MSK o Amazon Kinesis Data Streams 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 Kinesis Data Analytics Studio è possibile implementare queste query per l'esecuzione continua abilitando autoscaling e backup di stato durevoli.
 
D: Come inizio a usare le applicazioni Apache Flink per Kinesis Data Analytics?
Accedi alla console di Amazon Kinesis Data Analytics e crea una nuova applicazione di elaborazione di flussi. Puoi anche usare l' interfaccia a riga di comando AWS 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 Window e Aggregate e integrazioni di servizi AWS come Amazon MSK, Amazon Kinesis Data Streams e Amazon Kinesis Data Firehose. Una volta creato il codice, lo carichi nel servizio Kinesis Data Analytics che si occuperà di tutte le operazioni necessarie per eseguire le applicazioni in tempo reale in modo continuo, compreso il ridimensionamento automatico in base al volume e alla velocità effettiva dei dati in entrata.
 
D: Come inizio a usare le applicazioni Apache Beam per Kinesis Data Analytics?
Utilizzare Apache Beam per creare l’applicazione Kinesis Data Analytics è molto simile a quanto accade quando inizi a usare Apache Flink. Segui le istruzioni nella domanda precedente e assicurati di installare tutti i componenti necessari per eseguire le applicazioni su Apache Beam, come da istruzioni della Guida sviluppatore. Tieni presente che Kinesis Data Analytics supporta solo Java SDK quando esegue Apache Beam.
 
D: Come posso iniziare a usare Amazon Kinesis Data Analytics?
Puoi iniziare dalla console di Amazon Kinesis Data Analytics e creare un nuovo notebook Studio. Una volta iniziato il notebook, è possibile 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 Amazon Kinesis Data Streams, Amazon MSK e Amazon S3 utilizzando le integrazioni incorporate e varie altre fonti 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. Quando sei pronto, con pochi clic puoi facilmente spostare il tuo codice in un'applicazione di elaborazione di flussi in esecuzione continua con autoscaling e stato durevole.
 
D: Come inizio a usare Kinesis Data Analytics per SQL?
Accedi alla console di Amazon Kinesis Data Analytics e crea una nuova applicazione di elaborazione di flussi. Puoi anche usare l' interfaccia a riga di comando AWS e gli SDK AWS. Per creare un'applicazione end-to-end sono richieste tre fasi: 1) configurazione del flusso di dati in ingresso; 2) scrittura delle query SQL; 3) scelta della destinazione dei risultati. Kinesis Data Analytics riconosce i formati standard quali JSON, CSV e TSV e crea automaticamente uno schema di base. Puoi ottimizzare lo schema oppure, se desideri dati non strutturati, definirne uno nuovo utilizzando un intuitivo editor apposito. Il servizio applica quindi lo schema ai flussi in ingresso rendendoli simili a una tabella SQL aggiornata in modo continuo, su cui vengono quindi eseguite le query SQL. Per creare le query, è disponibile un editor SQL.
L'editor contiene tutte le funzioni più importanti, tra cui verifica della sintassi e testing su dati reali. AWS fornisce inoltre alcuni modelli predefiniti che forniscono codice SQL con cui creare semplici filtri di flusso o sistemi più avanzati, ad esempio per il rilevamento di anomalie e l'analisi dei top-K dei flussi di dati. Il provisioning e il dimensionamento elastico delle risorse dell'infrastruttura sono a carico di Kinesis Data Analytics, che farà in modo di gestire qualsiasi throughput di dati. Non è necessario pianificare, acquisire o gestire un'infrastruttura.
 
D: Quali sono i limiti di Kinesis Data Analytics?
Kinesis Data Analytics ricalibra in modo elastico le risorse dell'applicazione per poter gestire throughput elevati e query complesse per la maggior parte degli scenari. Per informazioni dettagliate sulle restrizioni dei servizi, consulta la sezione Limiti nel documento Guida per lo sviluppatore di Amazon Kinesis Data Analytics per SQL. Per informazioni dettagliate sui Limiti dei servizi per le applicazioni Apache Flink, visita la sezione Limiti nel documento Guida per lo sviluppatore di Amazon Kinesis Data Analytics per Apache Flink.
 
D: Amazon Kinesis Data Analytics supporta la registrazione degli schemi?
Sì, tramite i connettori DataStream di Apache Flink, Amazon Kinesis Data Analytics per le applicazioni Apache Flink può utilizzare il registro degli schemi di AWS Glue, una funzionalità serverless di AWS Glue. È possibile integrare Apache Kafka/Amazon MSK e Amazon Kinesis Data Streams, come sink o origine, con Amazon Kinesis Data Analytics per i carichi di lavoro di Apache Flink. Visitate la documentazione utente del Registro degli schemi per iniziare e per saperne di più.

Concetti chiave

Cos'è un'applicazione Kinesis Data Analytics?
Un'applicazione è l'entità Kinesis Data Analytics sulla quale lavori. Le applicazioni Kinesis Data Analytics leggono ed elaborano i flussi di dati in modo continuo e 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. Kinesis Data Analytics carica quindi i risultati dell'elaborazione in una destinazione configurata.
 
Ogni applicazione è composta da 3 componenti principali:
 
Input: l'origine del flusso per l'applicazione. Nella relativa configurazione, devi mappare l'origine del flusso a uno o più flussi di dati in applicazione. I dati scorrono dalle tue origini dati nei tuoi flussi di dati in applicazione. 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. Aggiungi gli input all'interno del codice dell'applicazione per le applicazioni Apache Flink e i notebook Studio e tramite l'API per Kinesis Data Analytics per applicazioni SQL.
 
Codice dell'applicazione: una serie di operatori Apache Flink o istruzioni SQL che elaborano l'input e producono l'output. Nella sua forma più semplice, il codice dell'applicazione può essere un singolo operatore Apache Flink o un'istruzione SQL 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 rispettivi linguaggi supportati per Kinesis Data Analytics per le applicazioni Apache Flink o i notebook Studio, o codice SQL che divide il flusso di dati iniziale in applicazione in più flussi e applica a questi flussi separati una logica aggiuntiva per Kinesis Data Analytics per applicazioni SQL.
 
Output: puoi creare uno o più flussi in applicazione per conservare i risultati intermedi. Puoi anche configurare l'output di un'applicazione affinché inoltri i dati provenienti da flussi in applicazione specifici verso una destinazione esterna. Aggiungi questi output all'interno del codice dell'applicazione per le applicazioni Apache Flink e i notebook di Studio, e alle applicazioni Kinesis Data Analytics for SQL.
 
D: Cos'è un flusso di dati in applicazione?
Un flusso di dati in applicazione è un'entità che memorizza continuamente i dati nella tua applicazione per l'elaborazione. Le tue applicazioni scrivono e leggono continuamente dai flussi di dati in applicazione. Per le applicazioni Apache Flink e Studio, interagisci con il flusso in applicazione elaborando i dati tramite gli operatori di flusso. Gli operatori trasformano uno o più flussi di dati in un nuovo flusso di dati. Per le applicazioni SQL interagisci con un flusso in applicazione come faresti per una tabella SQL usando istruzioni SQL. Applichi istruzioni SQL a uno o più flussi di dati e inserisci i risultati in un nuovo flusso di dati.
 
D: Quale codice applicativo è supportato?
Kinesis Data Analytics supporta le applicazioni realizzate in Java, Scala e Python con le librerie Apache Flink open source e il codice personalizzato dell'utente. Kinesis Data Analytics supporta inoltre le applicazioni realizzate in Java con le librerie Apache Beam open source e il tuo codice personalizzato dell'utente. Kinesis Data Analytics Studio supporta il codice scritto usando SQL, Python e Scala compatibili con Apache Flink.

Gestione delle applicazioni

D: Come è possibile monitorare il funzionamento e le prestazioni di un'applicazione Kinesis Data Analytics?
AWS offre numerosi strumenti che è possibile utilizzare per monitorare le applicazioni Kinesis Data Analytics, 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 maggiori informazioni su come monitorare la tua applicazione, vedi:

D: Come è possibile controllare e gestire gli accessi a un'applicazione Kinesis Data Analytics?
Kinesis Data Analytics deve disporre delle autorizzazioni di lettura per i record dalle fonti di dati in streaming che specifichi nella tua applicazione. Inoltre deve disporre delle autorizzazioni di scrittura dell'output della tua applicazione nelle destinazioni specificate nella tua configurazione di output della tua applicazione. Puoi concedere queste autorizzazioni creando ruoli AWS Identity and Access Management (IAM) da assegnare a Kinesis Data Analytics. Le autorizzazioni concesse a un ruolo determineranno le operazioni che Kinesis Data Analytics potrà o non potrà effettuare una volta assunto il ruolo. Per maggiori informazioni, consulta:

D: Kinesis Data Analytics ricalibra le risorse dell'applicazione?
Kinesis Data Analytics ricalibra in modo elastico le risorse dell'applicazione per poter gestire throughput elevati di dati e query complesse. Il servizio effettua il provisioning di capacità sotto forma di unità di elaborazione di Amazon Kinesis o KPU (Kinesis Processing Unit). Una KPU fornisce 1 vCPU e 4 GB di memoria.
 
Per le applicazioni Apache Flink e i notebook Studio, Kinesis Data Analytics assegna 50 GB di archiviazione delle applicazioni in esecuzione per KPU che l'applicazione utilizza per i checkpoint e che puoi utilizzare 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à di Kinesis Data Analytics per l'applicazione 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. Parallelismo per KPU definisce quante attività parallele possono essere pianificate per la Kinesis Processing Unit (KPU) della tua applicazione, per impostazione predefinita 1. Per ulteriori informazioni, consulta Dimensionamento nella Guida per lo sviluppatore di Amazon Kinesis Data Analytics per Apache Flink.
 
Per le applicazioni SQL, ogni origine di flusso viene mappata a un flusso in applicazione corrispondente. Anche se si tratta di un'operazione non necessaria per molti clienti, puoi utilizzare le KPU in modo più efficiente aumentando il numero di flussi in applicazione a cui è mappata l'origine specificando il parametro di parallelismo di input. Kinesis Data Analytics divide le partizioni di cui è composta l'origine dati in flusso, ad esempio le partizioni del flusso di dati di Amazon Kinesis, assegnandole equamente al numero specificato di flussi di dati in applicazione. Ad esempio, se come origine dati in flusso hai un flusso di dati Amazon Kinesis da 10 shard e specifichi un parametro di parallelismo pari a due, Kinesis Data Analytics assegna cinque shard a ciascuno dei due flussi in applicazione, denominati "SOURCE_SQL_STREAM_001" e "SOURCE_SQL_STREAM_002". Per ulteriori informazioni, consulta la sezione Configurazione del flusso in ingresso delle applicazioni nella Guida per lo sviluppatore di Amazon Kinesis Data Analytics per SQL.
 
D: Quali sono le best practice relative alla creazione e alla gestione di applicazioni Kinesis Data Analytics?
Per scoprire di più sulle best practice per Apache Flink, vai alla sezione Best practice della guida per gli sviluppatori di Amazon Kinesis Data Analytics per Apache Flink. Questa sezione spiega le best practice per la tolleranza ai guasti, le prestazioni, il logging, il codice e molto altro.
 
Per scoprire di più sulle best practice per Amazon Kinesis Data Analytics Studio, vai alla sezione Best practice della Guida per lo sviluppatore di Amazon Kinesis Data Analytics Studio. La sezione copre best practice ed esempi per le applicazioni SQL, Python e Scala, i requisiti per distribuire il tuo codice come applicazione di elaborazione di flussi in esecuzione continua, le prestazioni, il logging e altro.
 
Per scoprire di più sulle best practice per SQL, vai alla sezione Best practice della Guida per lo sviluppatore di Amazon Kinesis Data Analytics per SQL. Questa sezione spiega la gestione delle applicazioni, la definizione dello schema degli input, la connessioni agli output e la creazione del codice dell’applicazione.
 
D: Posso accedere alle risorse dietro un VPC Amazon con un’applicazione Apache Flink di Kinesis Data Analytics?
Sì. Puoi accedere alle risorse dietro un VPC Amazon. Scopri come configurare l’applicazione per l’accesso al VPC nella sezione Utilizzare un VPC Amazon della guida per gli sviluppatori di Amazon Kinesis Data Analytics.
 
D: Un’unica applicazione di Kinesis Data Analytics 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 Kinesis Data Analytics per Apache Flink connessa a un VPC può anche avere accesso a Internet e agli endpoint del servizio AWS?
Kinesis Data Analytics per applicazioni Apache Flink e notebook Kinesis Data Analytics Studio configurati per accedere alle risorse in un VPC specifico non ha accesso a Internet di default. Scopri come configurare l'accesso a Internet per la tua applicazione nella sezione Accesso a Internet e al servizio della guida per gli sviluppatori di Amazon Kinesis Data Analytics.

Prezzi e fatturazione

D: Quanto costa Kinesis Data Analytics?
I prezzi di Amazon Kinesis Data Analytics sono calcolati in base all'uso effettivo. Non è necessario effettuare il provisioning delle risorse e non sono previsti costi anticipati per Amazon Kinesis Data Analytics.

Viene addebitata una tariffa oraria calcolata sul numero medio di unità di elaborazione di Amazon Kinesis o KPU (Kinesis Processing Unit) 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. Amazon Kinesis Data Analytics ricalibra automaticamente il numero di KPU richieste dall'applicazione di elaborazione di flussi, in quanto le esigenze di memoria e calcolo variano in risposta alla complessità di elaborazione e al throughput dei dati dei flussi 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 dello storage delle applicazioni è usata per le funzionalità di elaborazione stateful di Amazon Kinesis Data Analytics 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 Amazon Kinesis Data Analytics 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 dello storage delle applicazioni. Non ti vengono addebitati costi per i backup durevoli delle applicazioni.
 
Per ulteriori informazioni sui prezzi, consulta la  pagina dei prezzi di Amazon Kinesis Data Analytics.
 
D: Kinesis Data Analytics è disponibile nel piano gratuito di AWS?
No. Kinesis Data Analytics non è attualmente disponibile nel piano gratuito di AWS. Il piano gratuito di AWS è un programma che offre prove gratuite per una serie di servizi AWS.
 
D: Quali costi vengono addebitati se un'applicazione Kinesis Data Analytics è in esecuzione ma non sta elaborando dati?
 
Per le applicazioni Apache Flink e Apache Beam, se l'applicazione Kinesis Data Analytics è in esecuzione ti verranno addebitati almeno due KPU e 50 GB di archiviazione dell'applicazione in esecuzione.
 
Per i notebook Kinesis Data Analytics Studio, se l'applicazione è in esecuzione ti verranno addebitati almeno tre KPU e 50 GB di storage delle applicazioni in esecuzione.
 
Per le applicazioni SQL, quando l'applicazione Kinesis Data Analytics è in esecuzione, l'addebito minimo corrisponde all'utilizzo di una KPU.
 
D: Oltre alle tariffe di Kinesis Data Analytics, vengono addebitati altri costi?
Kinesis Data Analytics è una soluzione di elaborazione di 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: 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 per 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 sviluppatori di Amazon Kinesis Data Analytics 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 uso gli operatori?
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?
Kinesis Data Analytics per Apache Flink include oltre 25 operatori da Apache Flink che possono essere utilizzati per risolvere un'ampia varietà di casi d'uso inclusi Map, KeyBy, Aggregations, Window Join e Window. 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, consentendoti di 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. Finestra di gruppo data utilizzando una chiave e un'operazione tipicamente basata sul tempo, come il conteggio del numero di elementi unici in un periodo di tempo di cinque minuti.
 
Se questi operatori non rispondono alle tue esigenze, puoi crearne di personalizzati. Puoi trovare altri esempi nella sezione Operatori della Guida per lo sviluppatore di Amazon Kinesis Data Analytics per Apache Flink. Puoi trovare un elenco completo di operatori di Apache Flink nella sezione Operatori della documentazione di Apache Flink.
 
D: Quali integrazioni sono supportate per un'applicazione Kinesis Data Analytics per Apache Flink?
Puoi impostare integrazioni pre-configurate 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 fonti 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. Di seguito è riportato un elenco di connettori specifici inclusi nelle librerie open-source.
 
  • Origine di flussi di dati: Amazon Managed Streaming for Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams  Destinazioni, o sink: Amazon Kinesis Data Streams
  • Amazon Kinesis Data Firehose, Amazon DynamoDB, Amazon Elasticsearch Service e Amazon S3 (tramite integrazioni dei sink di file)

Apache Flink include anche altri connettori fra cui Apache Kafka, Apache Cassandra, Elasticsearch ed altri.
 
D: Un'applicazione Kinesis Data Analytics per Apache Flink può replicare i dati fra più flussi e/o argomenti?
Sì. Puoi usare le applicazioni Apache Flink di Kinesis Data Analytics per replicare i dati fra i flussi di dati di 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 erogazione fornisce Kinesis Data Analytics per le applicazioni Apache Flink?
Le applicazioni Apache Flink in Kinesis Data Analytics usano un modello di erogazione "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 downstream una sola volta. I checkpoint salvano lo stato dell'applicazione corrente e consentono a Kinesis Data Analytics per le applicazioni Apache Flink di recuperare la posizione dell'applicazione per fornire la stessa semantica di un'esecuzione senza errori. I checkpoint per le applicazioni Apache Flink vengono forniti tramite la funzionalità checkpointing di Apache Flink. Per impostazione predefinita, Kinesis Data Analytics per le applicazioni Apache Flink usa la semantica esattamente una volta di Apache Flink. La tua applicazione supporterà la semantica di elaborazione esattamente una volta se progetti le tue applicazioni usando origini, operatori e sink che utilizzano la semantica esattamente una volta di Apache Flink.
 
D: Posso accedere allo storage locale da quello della mia applicazione?
Sì. Kinesis Data Analytics per le applicazioni Apache Flink fornisce 50 GB di storage dell'applicazione in esecuzione per Kinesis Processing Unit (KPU). Kinesis Data Analytics ricalibra lo storage in base alla tua applicazione. L'esecuzione dello storage dell'applicazione viene utilizzata per salvare lo stato dell'applicazione tramite i checkpoint. È accessibile anche al codice della tua applicazione da utilizzare come disco temporaneo per memorizzare nella cache i dati o per qualsiasi altro scopo. Kinesis Data Analytics può rimuovere in qualsiasi momento dallo storage dell'applicazione in esecuzione i dati non salvati tramite checkpoint (ad esempio operatori, origini, sink). Tutti i dati memorizzati nello storage dell'applicazione in esecuzione sono crittografati a riposo.
 
D: In che modo Kinesis Data Analytics per Apache Flink esegue automaticamente il backup della mia applicazione?
Kinesis Data Analytics esegue automaticamente il backup dello stato della tua applicazione in esecuzione usando checkpoint e snapshot. I checkpoint salvano lo stato dell'applicazione corrente e abilitano Kinesis Data Analytics per le applicazioni Apache Flink per il recupero della posizione dell'applicazione per fornire la stessa semantica di un'esecuzione senza errori. I checkpoint utilizzano lo storage dell'applicazione in esecuzione. Gli snapshot salvano un punto di recupero point-in-time per le applicazioni. Gli snapshot utilizzano backup durevoli dell'applicazione.
 
D: Cosa sono gli snapshot dell'applicazione?
Gli snapshot ti consentono di creare e ripristinare la tua applicazione com'era in un momento precedente. Puoi così mantenere lo stato dell'applicazione precedente ed eseguirne il rollback in qualsiasi momento. Sei tu a controllare gli snapshot e puoi averne da zero a migliaia. Gli snapshot usano i backup durevoli dell'applicazione e Kinesis Data Analytics ti addebita i costi in base alle loro dimensioni. Per impostazione predefinita, Kinesis Data Analytics 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 saperne di più sulle versioni di Apache Flink supportate, consulta la pagina delle note di rilascio di Amazon Kinesis Data Analytics. Questa pagina include anche le versioni di Apache Beam, Java, Python e AWS SDK supportate da Kinesis Data Analytics.
 
D: Kinesis Data Analytics per applicazioni Apache Flink può funzionare su Apache Beam?
Sì, Kinesis Data Analytics per Apache Flink supporta le applicazioni streaming create attraverso Apache Beam. Puoi creare applicazioni di streaming Apache Beam in Java ed eseguirle in diversi motori e servizi, compreso l'utilizzo di Apache Flink su Amazon Kinesis Data Analytics. Puoi trovare informazioni qui sulle versioni di Apache Flink e Apache Beam supportate nella documentazione di Amazon Kinesis Data Analytics.

Creare applicazioni Kinesis Data Analytics Studio

D: Come faccio per sviluppare applicazioni Studio?
Puoi iniziare dalle console Amazon Kinesis Data Analytics Studio, Amazon Kinesis Data Streams o Amazon MSK. Con pochi clic puoi lanciare un notebook serverless per eseguire immediatamente query sui flussi di dati ed eseguire 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 un solo clic a un'applicazione di elaborazione di flussi che elabora GB di dati al secondo, senza server.

Applicazione di elaborazione di flussi: una volta che sei pronto a spostare il codice alla produzione, puoi creare il tuo codice con un clic. Puoi fare clic su "Distribuisci come applicazione di elaborazione di flussi" nell'interfaccia del notebook o emettere un singolo comando nella CLI: Studio si occupa di tutta la gestione dell'infrastruttura necessaria per eseguire la tua applicazione di elaborazione di flussi su scala, con autoscaling e stato durevole abilitati, proprio come in un'applicazione Amazon Kinesis Data Analytics 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. La Table API è un'astrazione di alto livello e un'API relazionale che supporta un soprainsieme delle capacità di SQL. Offre operazioni familiari come seleziona, filtra, unisci, raggruppa, aggrega, ecc., insieme a concetti specifici dei flussi come il windowing. Si utilizza %<interpreter> per specificare il linguaggio da usare in una sezione del notebook e puoi passare facilmente da una lingua all'altra. 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 Scansiona e Filtra (SELECT, WHERE), Aggregazione (GROUP BY, GROUP BY WINDOW, HAVING), Configura (UNION, UNIONALL, INTERSECT, IN, EXISTS), Ordina (ORDER BY, LIMIT), Unisci (INNER, OUTER, Timed Window –BETWEEN, AND, unendo con tabelle temporali - tabelle che tengono traccia dei cambiamenti nel tempo), Top N, deduplicazione e riconoscimento dei modelli. Alcune di queste query come GROUP BY, OUTER JOIN, e Top N sono in configurazione "results updating" 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 https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sql/queries.html.

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 documentazione qui.

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

Per saperne di più sulle versioni di Apache Flink supportate, consulta la pagina delle note di rilascio di Amazon Kinesis Data Analytics (Analisi dei dati Amazon Kinesis). Questa pagina include anche le versioni Apache Zeppelin, Apache Beam, Java, Python e AWS SDK che Kinesis Data Analytics supporta.

D: Quali integrazioni sono supportate di default in un'applicazione Kinesis Data Analytics Studio?

  • Origine dei dati: Amazon Managed Streaming per Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams, Amazon S3 
  • Destinazioni o sink: Amazon MSK, Amazon Kinesis Data Streams e Amazon S3

D: Le integrazioni personalizzate sono supportate?
È possibile configurare ulteriori integrazioni con pochi passaggi aggiuntivi e linee di codice Apache Flink (Python, Scala o Java) per definire connessioni con tutte le integrazioni supportate da Apache Flink, comprese destinazioni come Amazon Elasticsearch Service, Amazon ElastiCache for Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces e altri. Puoi allegare gli eseguibili per questi connettori personalizzati quando crei o configuri la tua applicazione Studio.

D: Devo sviluppare con Kinesis Data Analytics Studio o con Kinesis Data Analytics SQL?
Consigliamo di iniziare con Kinesis Data Analytics Studio perché offre un'esperienza di elaborazione di flussi più completa con l'elaborazione "esattamente una volta". Kinesis Data Analytics Studio offre lo sviluppo di applicazioni di elaborazione di flussi nel tuo linguaggio preferito (SQL, Python e Scala), ricalibra fino a GB/s di elaborazione, supporta calcoli di lunga durata per ore o addirittura giorni, esegue aggiornamenti del codice in pochi secondi, gestisce più flussi di input e lavora con una varietà di flussi di input, tra cui Amazon Kinesis Data Streams e Amazon MSK.

Creare applicazioni Amazon Kinesis Data Analytics SQL

Per i nuovi progetti consigliamo di utilizzare il nuovo Kinesis Data Analytics Studio, piuttosto che Kinesis Data Analytics per applicazioni SQL. Kinesis Data Analytics Studio combina facilità d'uso e capacità analitiche avanzate, permettendoti di costruire sofisticate applicazioni di elaborazione di flussi in pochi minuti.

Configurazione dell'input per applicazioni SQL

D: Quali input sono supportati in un'applicazione SQL in Kinesis Data Analytics?
Le applicazioni SQL in Kinesis Data Analytics supportano due tipi di input: origini dati in flusso e origini dati di riferimento. Un'origine dati in flusso è una sequenza di dati in costante generazione che viene letta nell'applicazione per essere elaborata. Una fonte di dati di riferimento è una sequenza di dati statici utilizzata dall'applicazione per migliorare i dati provenienti da flussi di origine. Ogni applicazione non può avere più di un flusso di dati di origine e un'origine dati di riferimento. Le applicazioni leggono ed elaborano in modo continuo i nuovi dati provenienti da flussi di dati di origine, inclusi Amazon Kinesis Data Streams e Amazon Kinesis Data Firehose. Inoltre, leggono un'origine dati di riferimento nella sua interezza, ad esempio Amazon S3, per poter migliorare la qualità dei flussi di dati di origine tramite istruzioni SQL JOIN.
 
D: Cos'è un'origine dati di riferimento?
Un'origine dati di riferimento è una sequenza di dati statici utilizzata dall'applicazione per migliorare i dati provenienti da flussi di origine. Per te, l'origine dati di riferimento sarà un oggetto nel bucket S3. Quando l'applicazione SQL viene avviata, Kinesis Data Analytics legge l'oggetto S3 e crea una tabella SQL in applicazione per memorizzare i dati di riferimento. Il codice dell'applicazione li unirà in un secondo momento con il flusso in applicazione. I dati nella tabella SQL possono quindi essere aggiornati richiamando l' API UpdateApplication.
 
D: Come imposto un'origine dati in flusso nella mia applicazione SQL?
Un'origine dati in flusso può essere un flusso di dati Amazon Kinesis o un flusso di distribuzione Amazon Kinesis Data Firehose. L'applicazione SQL in Kinesis Data Analytics procederà alla lettura continua dei nuovi dati dalle origini dati in flusso in tempo reale. I dati vengono resi accessibili nel codice SQL tramite flussi in applicazione. Un flusso in applicazione si comporta come una tabella SQL, perché è in grado di creare, inserire e selezionare elementi. La differenza è che i flussi in applicazione vengono aggiornati costantemente con nuovi dati provenienti dal flusso di dati di origine.
 
Per aggiungere un'origine dati in flusso, puoi usare la Console di gestione AWS. Per ulteriori informazioni, consulta la sezione Configurazione del flusso in ingresso delle applicazioni della Guida per lo sviluppatore di Kinesis Data Analytics per SQL.
 
D: Come imposto un'origine dati di riferimento nella mia applicazione SQL?
Un'origine dati di riferimento può essere un oggetto Amazon S3. L'applicazione SQL di Kinesis Data Analytics procede alla lettura completa dell'oggetto S3 al momento dell'avvio. I dati vengono resi accessibili nel codice SQL tramite una tabella. Il caso d'uso più comune per le origini dati di riferimento è la correzione di dati provenienti dal flusso di dati di origine tramite istruzioni SQL JOIN. 
 
Tramite l'interfaccia a riga di comando di AWS, puoi aggiungere un'origine dati di riferimento specificando il bucket S3, l'oggetto, il ruolo IAM e lo schema associato. Kinesis Data Analytics caricherà questi dati all'avvio dell'applicazione, ricaricandoli ogni volta che viene richiamata l'API di aggiornamento.
 
D: Quali sono i formati di dati supportati per le applicazioni SQL?
Le applicazioni SQL in Kinesis Data Analytics sono in grado di rilevare lo schema e di analizzare automaticamente i record JSON e CSV con codifica UTF-8 usando l' API DiscoverInputSchema. Questo schema viene applicato ai dati in lettura provenienti dal flusso al momento dell'inserimento nel flusso in applicazione. 
 
Per altri dati codificati in UTF-8 che non usano delimitatore o che usano un delimitatore diverso da CSV, oppure nel caso in cui l'apposita API non sia in grado di riconoscere lo schema, puoi definire uno schema utilizzando l'apposito editor oppure mediante le funzioni di manipolazione delle stringhe per strutturare i dati. Per ulteriori informazioni, consulta la sezione Uso della caratteristica di rilevamento dello schema e relative modifiche nella Guida per lo sviluppatore di Amazon Kinesis Data Analytics per SQL.
 
D: In quale forma si presentano i flussi in ingresso al codice SQL?
Kinesis Data Analytics per SQL applica lo schema selezionato e inserisce i dati in uno o più flussi in applicazione per ogni origine di flusso e in una singola tabella SQL per le origini di riferimento. Il numero predefinito di flussi in applicazione è in grado di soddisfare la maggiore parte dei casi d'uso. Dovresti aumentare questo numero se noti che la tua applicazione non sta tenendo il passo con gli ultimi dati nel tuo flusso di origine come definito dalla metrica MillisBehindLatest di CloudWatch. Il numero di flussi in applicazione richiesti può variare in base al throughput del flusso di origine e alla complessità delle query. Il parametro per specificare il numero di flussi in applicazione mappati al flusso di origine è detto parallelismo di input.
 

Scrittura del codice dell'applicazione per applicazioni SQL

D: Qual è l'aspetto del codice dell'applicazione SQL?
Il codice dell'applicazione è composto da una serie di istruzioni SQL che elaborano l'input e producono l'output. Le istruzioni SQL operano su flussi in applicazione e tabelle di riferimento. Il flusso in applicazione è come una tabella che viene aggiornata di continuo, e su cui puoi eseguire operazioni SQL SELECT e INSERT. Le origini e le destinazioni configurate si presentano al codice SQL tramite flussi in applicazione. Puoi anche creare flussi in applicazione aggiuntivi per memorizzare risultati intermedi delle query.
 
Per operare su flussi in applicazione, puoi usare il seguente modello:

  • Usa sempre un'istruzione SELECT nel contesto di un'istruzione INSERT. Quando selezioni una riga, inserisci i risultati in un altro flusso in applicazione.
  • Usa un'istruzione INSERT nel contesto di un pump.
  • Usa un pump per rendere continua un'istruzione INSERT e procedere alla scrittura su un flusso in applicazione.

Il codice illustrato di seguito fornisce un'applicazione funzionante base:
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
    ticker_symbol VARCHAR(4),
    change DOUBLE,
    price DOUBLE);

CREATE OR REPLACE PUMP "STREAM_PUMP" AS 
  INSERT INTO "DESTINATION_SQL_STREAM"    
    SELECT STREAM ticker_symbol, change, price    
    FROM "SOURCE_SQL_STREAM_001";
Per ulteriori informazioni sul codice dell'applicazione, consulta il Codice dell’applicazione nella Guida per lo sviluppatore di Amazon Kinesis Data Analytics per SQL.
 
D: In che modo Kinesis Data Analytics semplifica la scrittura di codice SQL?
Kinesis Data Analytics include una libreria di modelli di analisi per i casi d'uso più comuni, tra cui filtri di flussi, finestre temporali a cascata e rilevamento di anomalie. Puoi accedere a questi modelli tramite l'editor SQL nella Console di gestione AWS. Dopo aver creato un'applicazione e aver esplorato l'editor SQL, potrai trovare i modelli nell'angolo superiore sinistro della console.
 
D: In che modo è possibile eseguire il rilevamento di anomalie in Kinesis Data Analytics?
Kinesis Data Analytics include funzioni SQL predefinite per diversi tipi di analisi, tra cui il rilevamento di anomalie. È sufficiente una chiamata a questa funzione tramite il codice SQL per rilevare eventuali anomalie in tempo reale. Kinesis Data Analytics usa l'algoritmo Random Cut Forest per implementare questa analisi. Per ulteriori informazioni sull'algoritmo Random Cut Forests, consulta il whitepaper Streaming Data Anomaly Detection.

Configurazione delle destinazioni nelle applicazioni SQL

D: Quali destinazioni sono supportate?
Kinesis Data Analytics per SQL supporta fino a tre destinazioni per applicazione. È possibile persistere i risultati delle query SQL ad Amazon S3, Amazon Redshift e Amazon Elasticsearch Service (tramite Amazon Kinesis Data Firehose), nonché Amazon Kinesis Data Streams. In ogni caso, puoi scrivere su una destinazione non supportata direttamente da Kinesis Data Analytics inviando i risultati delle query SQL ad Amazon Kinesis Data Streams e sfruttandone l'integrazione con AWS Lambda.
 
D: Come si configura una destinazione?
All'interno del codice dell'applicazione, puoi inoltrare i risultati delle istruzioni SQL verso uno o più flussi in applicazione. Facoltativamente, puoi configurare ulteriormente l'output dell'applicazione affinché tutti i dati scritti in determinati flussi in applicazione vengano inoltrati a un massimo di quattro destinazioni esterne. Tali destinazioni esterne possono essere un bucket Amazon S3, una tabella Amazon Redshift, un dominio Amazon Elasticsearch Service (tramite Amazon Kinesis Data Firehose) e un flusso di dati di Amazon Kinesis. Ogni applicazione supporta fino a quattro destinazioni in qualsiasi combinazione. Per ulteriori informazioni, consulta Configurazione dei flussi di output nella Guida per lo sviluppatore di Amazon Kinesis Data Analytics per SQL.
 
D: La destinazione utilizzata abitualmente non è supportata in modo diretto. Come si inviano i risultati delle query SQL a questa destinazione?
Per inoltrare i dati a una destinazione non direttamente supportata per l'utilizzo di Kinesis Data Analytics per SQL, puoi impiegare AWS Lambda. A tale scopo, consigliamo di scrivere i risultati in un flusso di dati di Amazon Kinesis per usare poi AWS Lambda per leggere i risultati elaborati e inviarli alla tua destinazione preferita. Per ulteriori informazioni, consulta Esempio: Integrazione di AWS Lambda nella Guida per lo sviluppatore di Amazon Kinesis Data Analytics per SQL. In alternativa, puoi usare un flusso di distribuzione Amazon Kinesis Data Firehose per caricare i dati in Amazon S3, attivare quindi una funzione AWS Lambda per leggere i dati e inviarli alla tua destinazione preferita. Per ulteriori informazioni, consulta la sezione Uso di AWS Lamba in combinazione con Amazon S3 nella Guida per lo sviluppatore di AWS Lambda.
 
D: Quale modello di erogazione dei servizi prevede Kinesis Data Analytics?
Kinesis Data Analytics usa un modello di distribuzione "almeno una volta" per l'output dell'applicazione verso le destinazioni configurate. L'applicazione Kinesis Data Analytics presenta punti di controllo interni, ovvero point-in-time in cui i record di output vengono distribuiti alle destinazioni senza perdita di dati. Il servizio usa questi punti di controllo in base alle esigenze per assicurare che l'output venga distribuito correttamente almeno una volta alle destinazioni configurate. Per ulteriori informazioni sui modelli di erogazione dei servizi, consulta la sezione Configurazione del flusso in uscita delle applicazioni nella Guida per lo sviluppatore di Amazon Kinesis Data Analytics per SQL.

Confronto con altre soluzioni di elaborazione di flussi

D: Quali differenze ci sono tra Amazon Kinesis Data Analytics e l'utilizzo di applicazioni proprietarie tramite Amazon Kinesis Client Library?
Amazon Kinesis Client Library (KCL) è una libreria preconfigurata che semplifica la creazione di applicazioni per la lettura e l'elaborazione di dati provenienti da un flusso di dati Amazon Kinesis. KCL gestisce problemi complessi quali l'adattamento alle variazioni di volume del flusso di dati, il bilanciamento del carico dei dati, la coordinazione di servizi distribuiti e l'elaborazione di dati con tolleranza ai guasti. KCL consente di concentrare l'attenzione sulla logica di business durante la creazione di applicazioni. 
 
Con Kinesis Data Analytics puoi elaborare e interrogare i flussi di dati in tempo reale. Puoi elaborare flussi di dati semplicemente tramite SQL standard, perciò non dovrai apprendere specifiche competenze su eventuali linguaggi di programmazione. È sufficiente indirizzare Kinesis Data Analytics su un flusso di dati in ingresso, scrivere query SQL personalizzate e specificare dove caricarne i risultati. Kinesis Data Analytics usa KCL per la lettura dei dati provenienti da flussi di origine all'interno dell'applicazione. Il servizio esegue automaticamente questa e molte altre operazioni associate con l'uso di KCL, ad esempio l'uso di punti di controllo. 
 
Se cerchi una soluzione completamente gestita e desideri utilizzare SQL per elaborare i dati per il flusso, Kinesis Data Analytics è l'ideale. KCL è consigliato se devi creare una soluzione di elaborazione personalizzata i cui requisiti vanno oltre l'offerta di Kinesis Data Analytics e se sei sufficientemente esperto per gestire l'applicazione risultante.

Contratto sul livello di servizio

D: Che cosa garantisce il contratto sul livello di servizio (SLA) di Amazon Kinesis Data Analytics?

Lo SLA di Amazon Kinesis Data Analytics garantisce una percentuale di tempo di attività mensile di almeno il 99,9% per Amazon Kinesis Data Analytics.

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

Hai diritto a un credito di assistenza SLA per Amazon Kinesis Data Analytics, secondo lo SLA di Amazon Kinesis Data Analytics, se più di una zona di disponibilità in cui stai eseguendo un'attività, all'interno della stessa regione ha una percentuale di tempo di attività mensile inferiore al 99,9% durante un qualsiasi ciclo di fatturazione mensile. Per dettagli completi sui termini e le condizioni del contratto sul livello di servizio e per indicazioni sulla presentazione di una richiesta, consulta la pagina dei dettagli relativa allo SLA di Amazon Kinesis.

Nozioni di base su Amazon Kinesis Data Analytics

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

Visita la pagina dei prezzi di Amazon Kinesis Data Analytics.

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.