2

Ich versuche ein Zeppelin-Notebook zu starten, das Sparks Structured Streaming Beispiel mit Kafka-Anschluss enthält.Zeppelin 6.5 + Apache Kafka-Anschluss für Structured Streaming 2.0.2

>kafka is up and running on localhost port 9092 

>from zeppelin notebook, sc.version returns String = 2.0.2 

Hier ist meine Umgebung:

kafka: kafka_2.10-0.10.1.0 

zeppelin: zeppelin-0.6.2-bin-all 

spark: spark-2.0.2-bin-hadoop2.7 

Hier ist der Code in meinem zeppelin Notebook:

import org.apache.enter code herespark.sql.functions.{explode, split} 


// Setup connection to Kafka val kafka = spark.readStream 
.format("kafka") 
.option("kafka.bootstrap.servers","localhost:9092") 
// comma separated list of broker:host 
.option("subscribe", "twitter")  
// comma separated list of topics 
.option("startingOffsets", "latest") 
// read data from the end of the stream .load() 

Hier ist der Fehler erhalte ich, wenn ich Führen Sie das Notebook:

importieren org.apache.spark.sql.functions {explode, split} java.lang.ClassNotFoundException: Die Datenquelle konnte nicht gefunden werden: kafka. finden Sie Pakete bei https://cwiki.apache.org/confluence/display/SPARK/Third+Party+Projects bei org.apache.spark.sql.execution.datasources.DataSource.lookupDataSource (DataSource.scala: 148) bei org.apache.spark.sql.execution.datasources.DataSource.providingClass $ lzycompute (DataSource.scala: 79) bei org.apache.spark.sql.execution.datasources.DataSource.providingClass (DataSource.scala: 79) bei org.apache.spark.sql.execution.datasources.DataSource .sourceSchema (DataSource.scala: 218) bei org.apache.spark.sql.execution.datasources.DataSource.sourceInfo $ lzycompute (DataSource.scala: 80) bei org.apac he.spark.sql.execution.datasources.DataSource.sourceInfo (DataSource.scala: 80) bei org.apache.spark.sql.execution.streaming.StreamingRelation $ .apply (StreamingRelation.scala: 30) bei org .apache.spark.sql.streaming.DataStreamReader.load (DataStreamReader.scala: 124) ... 86 elided verursacht durch: java.lang.ClassNotFoundException: kafka.DefaultSource bei scala.reflect.internal.util.AbstractFileClassLoader. findClass (AbstractFileClassLoader.scala: 62) bei java.lang.ClassLoader.loadClass (ClassLoader.java:424) um java.lang.ClassLoader.loadClass (ClassLoader.java:357) um org.apache.spark.sql. execution.datasources.DataSource $$ anonfun $ 5 $$ anonfun $ anwenden $ 1.apply (DataSource.scala: 132) bei org.apache.spark.sql.execution.datasources.DataSource $$ anonfun $ 5 $$ anonfun $ gelten $ 1.apply (DataSource.scala: 132) bei scala.util.Try $ .apply (Try.scala: 192)

Jede Hilfe Beratung würde sehr geschätzt werden.

Thnx

+0

verursacht durch: java.lang.ClassNotFoundException: kafka.DefaultSource zeigt Sie diese Klasse von Ihrem Klassenpfad fehlen.Wie sieht Ihr Klassenpfad aus und enthält ein Jar mit dieser Klasse kafka.DefaultStore? – dawsaw

+0

Der Schmerz meiner Existenz in den letzten paar Wochen. ;-) – Warsame

Antwort

1

Sie wahrscheinlich herausgefunden haben dies aus bereits sondern auch für andere in der Antwort setzen, haben Sie die folgenden Funktionen zeppelin-env.sh.j2

SPARK_SUBMIT_OPTIONS=--packages org.apache.spark:spark-streaming-kafka-0-10_2.11:2.1.0 

zusammen mit potenziell anderen Abhängigkeiten hinzufügen wenn Sie die kafka-Client verwenden:

--packages org.apache.spark:spark-sql-kafka-0-10_2.11:2.1.0,org.apache.spark:spark-sql_2.11:2.1.0,org.apache.kafka:kafka_2.11:0.10.0.1,org.apache.spark:spark-streaming-kafka-0-10_2.11:2.1.0,org.apache.kafka:kafka-clients:0.10.0.1 
Verwandte Themen