2016-04-27 7 views
1

ich in der Lage zu analysieren bin Spark-Shell von bin/spark-shell --packages com.databricks:spark-xml_2.11:0.3.0 zu laufen XML-Dateien analize, zum Beispiel:Wie Funken auf Zeppelin laufen XML-Dateien

import org.apache.spark.sql.SQLContext 

val sqlContext = new SQLContext(sc) 
val df = sqlContext.read 
    .format("com.databricks.spark.xml") 
    .option("rowTag", "book") 
    .load("books.xml") 

aber wie kann ich Zeppelin führen Sie es so zu tun. Braucht Zeppelin beim Start einen Parameter zum Importieren com.databricks.spark.xml? Jetzt erhalte ich:

java.lang.RuntimeException: Fehler Klasse für Datenquelle laden: com.databricks.spark.xml bei scala.sys.package $ .error (package.scala: 27) bei org.apache.spark.sql.sources.ResolvedDataSource $ .lookupDataSource (ddl.scala: 220) bei org.apache.spark.sql.sources.ResolvedDataSource $ .apply (ddl.scala: 233) bei org.apache.spark.sql.DataFrameReader.load (DataFrameReader.scala: 114) um org.apache.spark.sql.DataFrameReader.load (DataFrameReader.scala: 104) bei $ iwC $$ iwC $$ iwC $$ iwC $$ iwC $$ iwC $$ iwC $$$ iwC. (: 26) um $ iwC $$ iwC $$$ iwC $$$ iwC $$$ iwC $$$ iwC $$$ iwC. (: 31) um $ iwC $$ iwC $$ iwC $$ iwC $$ iwC $$$ iwC. (: 33) um $ iwC $$ iwC $$ iwC $$$ iwC $$$ iwC. (: 35) um $ iwC $$ iwC $$ iwC $$ iwC. (: 37) unter $ iwC $$ iwC $$ iwC. (: 39) bei $ iwC $$ iwC. (: 41) bei $ iwC. (: 43) at (: 45) um . (: 49) um.() Um . (: 7) um.() Um $ print() bei sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Methode) um sun.reflect. NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) um sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) bei java.lang.reflect.Method.invoke (Method.ja va: 497) bei org.apache.spark.repl.SparkIMain $ ReadEvalPrint.call (SparkIMain.scala: 1065) bei org.apache.spark.repl.SparkIMain $ Request.loadAndRun (SparkIMain.scala: 1338) unter org.apache.spark.repl.SparkIMain.loadAndRunReq $ 1 (SparkIMain.scala: 840) bei org.apache.spark.repl.SparkIMain.interpret (SparkIMain.scala: 871) bei org.apache.spark.repl .SparkIMain.interpret (SparkIMain.scala: 819) bei org.apache.zeppelin.spark.SparkInterpreter.interpretInput (SparkInterpreter.java:709) bei org.apache.zeppelin.spark.SparkInterpreter.interpret (SparkInterpreter.java : 674) unter org.apache.zeppelin.spark.Sp arkInterpreter.interpret (SparkInterpreter.java:667) bei org.apache.zeppelin.interpreter.ClassloaderInterpreter.interpret (ClassloaderInterpreter.java:57) bei org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret (LazyOpenInterpreter.java: 93) bei org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer $ InterpretJob.jobRun (RemoteInterpreterServer.java:300) bei org.apache.zeppelin.scheduler.Job.run (Job.java:169) bei org .apache.zeppelin.scheduler.FIFOScheduler $ 1.run (FIFOScheduler.java:134) um java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) bei java.util.concurrent.FutureTask.run (FutureTask.java:266) um java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 201 (ScheduledThreadPoolExecutor.java:180) bei java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:293) bei java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) bei java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:617) bei java.lang.Thread.run (Thread.java:745)

Antwort

4

In Zeppelin müssen Sie diese Abhängigkeiten aufrufen, bevor Sie den SparkContext erstellen.

In einer separaten Zelle, die Sie hinzufügen möchten, und führen Sie die folgenden

%dep 
z.reset() 
z.addRepo("Spark Packages Repo").url("http://dl.bintray.com/spark-packages/maven") 
z.load("com.databricks:spark-xml_2.11:0.3.0") 

Wenn dies ein Fehler vom Typ gibt: „Sie haben Abhängigkeiten hinzufügen, bevor Ihr SparkContext Start“ nur den Interpreter oder Zeppelin neu starten.

+0

Was ist, wenn Sie den% dep-Interpreter nicht haben? Beim AWS EMR-Standard-Zeppelin scheint es nicht enthalten zu sein. Gibt es eine andere Möglichkeit, dieses Paket hinzuzufügen? – Davos