web-dev-qa-db-ja.com

zeppelinで大きなJSONファイルを読み取っているときにorg.Apache.thrift.transport.TTransportExceptionエラーが発生しましたscala

ZeppelinとScalaを使用して大きなJSONファイル(1.5 GB)を読み取ろうとしています。

ZeppelinはSPARKローカルモードでUbuntuOSにインストールされたVMと10GBのRAM。8GBをspark.executor.memoryに割り当てました

私のコードは以下の通りです

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

次のエラーが発生します

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)
7
Kiran Shashi

発生したエラーは、Sparkインタープリターの実行に問題があるため、Zeppelinはインタープリタープロセスに接続できませんでした。

何が起こっているのかを正確に知るには、/PATH/TO/ZEPPELIN/logs/*.outにあるログを確認する必要があります。おそらく、インタプリタログにOOMが表示されます。

VM、10 GBのエグゼキュータメモリ用に8GBを使用するのは無理だと思います(そして、何人のエグゼキュータを開始しますか?)。ドライバのメモリも考慮する必要があります。

8
user1314742