2016-04-25 9 views
3

Ich versuche, eine große JSON-Datei (1,5 GB) mit Zeppelin und Scala zu lesen.org.apache.thrift.transport.TTransportException Fehler beim Lesen großer JSON-Datei in Zeppelin Scala

Zeppelin arbeitet an SPARK im lokalen Modus unter Ubuntu OS auf einer VM mit 10 GB RAM. Ich habe 8GB alloted zum spark.executor.memory

My-Code ist als unten

val inputFileWeather="/home/shashi/incubator-zeppelin-master/data/ai/weather.json" 
val temp=sqlContext.read.json(inputFileWeather) 

ich die folgende Fehler

org.apache.thrift.transport.TTransportException 
    at org.apache.thrift.transport.TIOStreamTransport.read(TIOStreamTransport.java:132) 
    at org.apache.thrift.transport.TTransport.readAll(TTransport.java:86) 
    at org.apache.thrift.protocol.TBinaryProtocol.readAll(TBinaryProtocol.java:429) 
    at org.apache.thrift.protocol.TBinaryProtocol.readI32(TBinaryProtocol.java:318) 
    at org.apache.thrift.protocol.TBinaryProtocol.readMessageBegin(TBinaryProtocol.java:219) 
    at org.apache.thrift.TServiceClient.receiveBase(TServiceClient.java:69) 
    at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.recv_interpret(RemoteInterpreterService.java:241) 
    at org.apache.zeppelin.interpreter.thrift.RemoteInterpreterService$Client.interpret(RemoteInterpreterService.java:225) 
    at org.apache.zeppelin.interpreter.remote.RemoteInterpreter.interpret(RemoteInterpreter.java:229) 
    at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:93) 
    at org.apache.zeppelin.notebook.Paragraph.jobRun(Paragraph.java:229) 
    at org.apache.zeppelin.scheduler.Job.run(Job.java:171) 
    at org.apache.zeppelin.scheduler.RemoteScheduler$JobRunner.run(RemoteScheduler.java:328) 
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 
    at java.util.concurrent.FutureTask.run(FutureTask.java:262) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178) 
    at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:745) 

Antwort

5

Der Fehler, den Sie bekam immer ein Problem zurückzuführen ist, in Der Spark-Interpreter wird ausgeführt, damit Zeppelin keine Verbindung zum Interpreterprozess herstellen konnte.

Sie müssen Ihre Protokolle in /PATH/TO/ZEPPELIN/logs/*.out überprüfen, um genau zu wissen, was passiert. Vielleicht sehen Sie in den Interpreter-Protokollen ein OOM.

Ich denke, dass 8 GB für Executor-Speicher auf einer VM mit 10 GB ist unvernünftig, (und wie viele Executoren starten Sie?). Sie müssen auch den Treiber Memeory

berücksichtigen