火花驱动器已意外停止并正在重新启动。您的笔记本将自动重新连接

时间:2019-06-16 12:39:14

标签: excel scala apache-spark azure-databricks

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

这些是集群的参数:

然后我在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分钟后又遇到另一个错误:

  

火花驱动器意外停止并正在重新启动。您的   笔记本将自动重新连接。

我不明白为什么会这样。实际上,对于分布式计算而言,数据集非常小,并且群集大小应该可以处理这些数据。我应该检查些什么来解决它?

1 个答案:

答案 0 :(得分:0)

我也陷入了无法处理35000条记录xlsx文件的情况。 下面是我尝试解决的解决方案:

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

  2. 还将工作程序类型降级为 Standard_F4S 8GB内存4核,0.5DBU,1个工作程序

  3. 添加了以下选项:

    sqlContext.read.format(“ com.crealytics.spark.excel”)。 option(“位置”,“此处的文件名...”)。option(“ useHeader”,“ true”)。option(“ treatEmptyValueAsNulls”,“ true”)。option(“ maxRowsInMemory”,20).option(“ inferSchema “,” true“)。load(”此处的文件名...“)

相关问题