Implementa come applicazione con uno stato durevole - Servizio gestito per Apache Flink

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

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

Implementa come applicazione con uno stato durevole

Puoi creare il codice ed esportarlo in Amazon S3. Puoi promuovere il codice che hai scritto nella nota in un'applicazione di elaborazione di flussi in esecuzione continua. Esistono due modalità per eseguire un'applicazione Apache Flink nel servizio gestito per Apache Flink: con un notebook Studio, hai la possibilità di sviluppare il codice in modo interattivo, visualizzarne i risultati in tempo reale e visualizzarlo all'interno della nota. Dopo aver implementato una nota per l'esecuzione in modalità streaming, il servizio gestito per Apache Flink crea un'applicazione che viene eseguita continuamente, legge i dati dalle origini, scrive nelle destinazioni, mantiene lo stato dell'applicazione a lungo termine e viene automaticamente dimensionato in base al throughput dei flussi di origine.

Nota

Il bucket S3 in cui si esporta il codice dell'applicazione deve trovarsi nella stessa regione del notebook Studio.

È possibile implementare una nota dal notebook Studio solo se soddisfa i seguenti criteri:

  • I paragrafi devono essere ordinati in sequenza. Quando distribuite l'applicazione, tutti i paragrafi all'interno di una nota verranno eseguiti in sequenza (left-to-right, top-to-bottom) così come appaiono nella nota. È possibile controllare questo ordine selezionando Esegui tutti i paragrafi nella nota.

  • Il tuo codice è una combinazione di Python SQL e/o Scala e. SQL Al momento non supportiamo Python e Scala insieme per. deploy-as-application

  • La nota dovrebbe avere solo i seguenti interpreti: %flink, %flink.ssql, %flink.pyflink, %flink.ipyflink, %md.

  • L'uso dell'oggetto z del contesto Zeppelin non è supportato. I metodi che non restituiscono nulla si limiteranno a registrare un avviso. Altri metodi genereranno eccezioni in Python o non riusciranno a compilare in Scala.

  • Una nota deve generare un singolo processo Apache Flink.

  • Le note con i moduli dinamici non sono supportate per l'implementazione come applicazione.

  • I paragrafi %md (Markdown) verranno ignorati durante l'implementazione come applicazione, poiché si prevede che contengano documentazione leggibile dall'uomo che non è adatta all'esecuzione come parte dell'applicazione risultante.

  • I paragrafi disabilitati per l'esecuzione in Zeppelin verranno ignorati durante l'implementazione come applicazione. Anche se un paragrafo disabilitato utilizza un interprete incompatibile, ad esempio %flink.ipyflink in una nota con %flink and %flink.ssql interpreti, verrà ignorato durante l'utilizzo della nota come applicazione e non genererà alcun errore.

  • Affinché la distribuzione dell'applicazione abbia successoSQL, deve essere presente almeno un paragrafo con il codice sorgente (Flink PyFlink o Flink Scala) abilitato per l'esecuzione.

  • L'impostazione del parallelismo nella direttiva dell'interprete all'interno di un paragrafo (ad esempio %flink.ssql(parallelism=32)) verrà ignorata nelle applicazioni implementate da una nota. È invece possibile aggiornare l'applicazione distribuita tramite AWS Command Line Interface o modificare il AWS Management Console parallelismo e/o ParallelismPer KPU le impostazioni in base AWS API al livello di parallelismo richiesto dall'applicazione, oppure è possibile abilitare la scalabilità automatica per l'applicazione distribuita.

  • Se la distribuzione è effettuata come applicazione con uno stato durevole, è necessario disporre dell'accesso a Internet. VPC Se VPC non hai accesso a Internet, vediImplementa come applicazione con uno stato durevole in un ambiente senza accesso VPC a Internet.

Criteri Scala/Python

  • Nel tuo codice Scala o Python, usa il pianificatore Blink (senv, stenv per Scala; s_env, per st_env Python) e non il vecchio pianificatore "Flink" (stenv_2 per Scala, st_env_2 per Python). Il progetto Apache Flink consiglia l'utilizzo del pianificatore Blink per i casi d'uso in produzione, e questo è il pianificatore predefinito in Zeppelin e Flink.

  • I tuoi paragrafi in Python non devono utilizzare invocazioni/assegnazioni di shell utilizzando comandi IPython magici come ! %timeit o %conda nelle note pensate per essere distribuite come applicazioni.

  • Non è possibile utilizzare le classi di casi Scala come parametri di funzioni passate a operatori di flusso di dati di ordine superiore come map e filter. Per informazioni sulle case class di Scala, consulta la documentazione di Scala. CASECLASSES

SQLcriteri

  • Non sono consentite SELECT affermazioni semplici, in quanto non esiste nulla di equivalente alla sezione di output di un paragrafo in cui i dati possano essere forniti.

  • In ogni paragrafo, DDL le istruzioni (USE,,,CREATE, ALTER DROPSET,RESET) devono precedere le istruzioni DML (INSERT). Questo perché DML le dichiarazioni contenute in un paragrafo devono essere inviate insieme come un unico processo Flink.

  • Dovrebbe esserci al massimo un paragrafo che DML contenga delle dichiarazioni. Questo perché, per questa deploy-as-application funzionalità, supportiamo solo l'invio di un singolo lavoro a Flink.

Per ulteriori informazioni e un esempio, consulta Tradurre, redigere e analizzare i dati di streaming utilizzando SQL le funzioni con Amazon Managed Service for Apache Flink, Amazon Translate e Amazon Comprehend.