Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel spark驱动程序意外停止,正在重新启动。您的笔记本将自动重新连接_Excel_Scala_Apache Spark_Azure Databricks - Fatal编程技术网

Excel spark驱动程序意外停止,正在重新启动。您的笔记本将自动重新连接

Excel spark驱动程序意外停止,正在重新启动。您的笔记本将自动重新连接,excel,scala,apache-spark,azure-databricks,Excel,Scala,Apache Spark,Azure Databricks,我尝试在Databricks中分析一个500Mb的数据集。这些数据存储在Excel文件中。我做的第一件事是从Maven(最新版本-0.11.1)安装Spark Excel包com.crealytics.Spark.Excel 以下是集群的参数: 然后,我在Scala笔记本中执行了以下代码: val df_spc = spark.read .format("com.crealytics.spark.excel") .option("useHeader",

我尝试在Databricks中分析一个500Mb的数据集。这些数据存储在Excel文件中。我做的第一件事是从Maven(最新版本-0.11.1)安装Spark Excel包
com.crealytics.Spark.Excel

以下是集群的参数:

然后,我在Scala笔记本中执行了以下代码:

val df_spc = spark.read
          .format("com.crealytics.spark.excel")
          .option("useHeader", "true")
          .load("dbfs:/FileStore/tables/test.xlsx")
但是我得到了关于Java堆大小的错误,然后我得到了另一个错误“Java.io.IOException:超出了GC开销限制”。然后我再次执行此代码,在运行5分钟后出现另一个错误:

spark驱动程序意外停止,正在重新启动。你的 笔记本将自动重新连接


我不明白为什么会这样。事实上,对于分布式计算来说,数据集非常小,集群大小应该可以处理这些数据。我应该检查什么来解决这个问题?

我也遇到了同样的情况,无法处理我的35000记录xlsx文件。 以下是我尝试解决的解决方案:

  • 使用免费azure订阅14天随用随付模式,您可以处理记录数较少的xlsx。对于试用版,我必须将其更改为25条记录

  • 同时将工作类型降级为标准_F4S 8GB内存4芯、0.5DBU、1个工作配置

  • 添加以下选项:

    sqlContext.read.format(“com.crealytics.spark.excel”)。 选项(“位置”,“此处的文件名…”)。选项(“useHeader”,“true”)。选项(“treatEmptyValueAsNulls”,“true”)。选项(“maxRowsInMemory”,20)。选项(“推断模式”,“true”)。加载(“此处的文件名…”)


  • 这个源甚至不是远程分布的。它将本地读取驱动程序上的数据,然后并行化。这是非常低效的,并且会在某个点创建多个数据副本。如果您的数据很小,那么使用Spark也没有任何意义。如果不是,我建议你帮自己一个忙,换一种适合大规模分析的格式。也就是说,调整(和增加)可用内存应该可以做到这一点。