Övning – Strömma Kafka-data till en Jupyter-anteckningsbok och fönster data
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
I Azure Portal klickar du på Start > HDInsight-kluster och väljer sedan det Spark-kluster som du nyss skapade (inte Kafka-klustret).
I fönstret Klusterinstrumentpaneler klickar du på Jupyter Notebook.
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.
Klicka på PySpark och klicka sedan på Ladda upp på sidan PySpark.
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.
När anteckningsboken har laddats upp till mappen PySpark klickar du på RealTimeStocks.ipynb för att öppna anteckningsboken i webbläsaren.
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.
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.
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]
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.
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.
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.
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!