Övning – Strömma Kafka-data till en Jupyter-anteckningsbok och fönster data

Slutförd

Kafka-klustret skriver nu data till sin logg, som kan bearbetas via Spark Structured Streaming.

En Spark-notebook-fil ingår i exemplet som du klonade, så du måste ladda upp anteckningsboken till Spark-klustret för att använda den.

Ladda upp Python-anteckningsboken till Spark-klustret

  1. I Azure Portal klickar du på Start > HDInsight-kluster och väljer sedan det Spark-kluster som du nyss skapade (inte Kafka-klustret).

  2. I fönstret Klusterinstrumentpaneler klickar du på Jupyter Notebook.

    Öppna en Jupyter-anteckningsbok

  3. När du uppmanas att ange autentiseringsuppgifter anger du ett användarnamn för administratören och anger lösenordet som du skapade när du skapade klustren. Jupyter-webbplatsen visas.

  4. Klicka på PySpark och klicka sedan på Ladda upp på sidan PySpark.

  5. Gå till den plats där du laddade ned exemplet från GitHub, välj filen RealTimeStocks.ipynb, klicka sedan på Öppna, klicka sedan på Ladda upp och klicka sedan på Uppdatera i webbläsaren.

  6. När anteckningsboken har laddats upp till mappen PySpark klickar du på RealTimeStocks.ipynb för att öppna anteckningsboken i webbläsaren.

  7. Kör den första cellen i anteckningsboken genom att placera markören i cellen och klicka sedan på Skift+Retur för att köra cellen.

    Cellen Konfigurera bibliotek och paket slutförs när den visar meddelandet Starta Spark-programmet och ytterligare information som visas i följande bildtext.

    Konfigurera bibliotek i en Jupyter-anteckningsbok

  8. I cellen Konfigurera anslutning till Kafka går du till raden .option("kafka.bootstrap.servers", "") och anger Kafka-koordinatorn mellan den andra uppsättningen citattecken. Till exempel: .option("kafka.bootstrap.servers", "wn0-kafka.mdlamldganads.gx.internal.cloudapp.net:9092"), och klicka sedan på Skift+Retur för att köra cellen.

    Konfigurationsanslutningen till Kafka-cellen slutförs när den visar meddelandet inputDf: org.apache.spark.sql.DataFrame = [key: binary, value: binary ... Ytterligare 5 fält]. Spark använder readStream-API:et för att läsa data.

    Konfigurera en anslutning till Kafka

  9. Välj cellen Läs från Kafka till Strömmande dataram och klicka sedan på Skift+Retur för att köra cellen.

    Cellen slutförs när följande meddelande visas: stockDf: org.apache.spark.sql.DataFrame = [symbol: sträng, tid: sträng ... Ytterligare 2 fält]

    Läsa från Kafka till Strömmande dataram

  10. Välj cellen Utdataströmningsdataram till konsol och klicka sedan på Skift+Retur för att köra cellen.

    Cellen slutförs när den visar information som liknar följande. Utdata visar värdet för varje cell när den skickades i mikrobatchen och det finns en batch per sekund.

    Mata ut en strömmande dataram till en konsol

  11. Välj cellen Windowed Stock Min/Max och klicka sedan på Skift + Retur för att köra cellen.

    Cellen slutförs när den ger max- och minimipriset för varje lager i 4-sekundersfönstret, som definieras i cellen. Som vi nämnde i en tidigare lektion är information om specifika tidsperioder en av de fördelar du får genom att använda Spark Structured Streaming.

    Ett exempel på en användning av en minsta och högsta mängdfunktion

  12. Välj Samla in alla värden för aktier i en fönstercell och klicka sedan på Skift + Retur för att köra cellen.

    Cellen slutförs när den innehåller en tabell med värdena för lagren i tabellen. OutputMode är klar, så att alla data visas.

    Ett exempel på en användning av en total mängdfunktion

I den här lektionen har du laddat upp en Jupyter-anteckningsbok till ett Spark-kluster, anslutit den till ditt Kafka-kluster, matat ut strömmande data som skapas av Python-producentfilen till Spark-notebook-filen, definierat ett fönster för strömmande data och visat de höga och låga aktiekurserna i det fönstret och visat alla värden för aktien i tabellen. Grattis, du har utfört strukturerad strömning med Spark och Kafka!