【问题标题】:org.apache.thrift.transport.TTransportException error while Reading large JSON file in zeppelin scala在 zeppelin scala 中读取大型 JSON 文件时出现 org.apache.thrift.transport.TTransportException 错误
【发布时间】:2016-08-18 12:32:10
【问题描述】:

我正在尝试使用 Zeppelin 和 Scala 读取一个大型 JSON 文件 (1.5 GB)。

Zeppelin 正在以本地模式开发 SPARK,该模式安装在 Ubuntu 操作系统上的具有 10 GB RAM 的 VM 上。我已经为 spark.executor.memory 分配了 8GB

我的代码如下

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)

【问题讨论】:

    标签: json scala apache-spark apache-zeppelin


    【解决方案1】:

    您遇到的错误是由于运行 Spark 解释器时出现问题,因此 Zeppelin 无法连接到解释器进程。

    您必须检查位于/PATH/TO/ZEPPELIN/logs/*.out 的日志才能准确了解发生了什么。也许在解释器日志中你会看到 OOM。

    我认为 10 GB 的 VM 上的 8GB 执行器内存是不合理的,(你要启动多少个执行器?)。您还必须考虑驱动程序的内存

    【讨论】:

      【解决方案2】:

      增加 pyspark 解释器中的驱动程序内存,即 spark.driver.memory。默认1G

      【讨论】:

        猜你喜欢
        • 2020-03-19
        • 1970-01-01
        • 1970-01-01
        • 2018-10-13
        • 1970-01-01
        • 2023-03-03
        • 2022-01-23
        • 1970-01-01
        • 2020-10-11
        相关资源
        最近更新 更多