Flu*_*uxy 9 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")
Run Code Online (Sandbox Code Playgroud)
但我收到了有关 Java 堆大小的错误,然后收到另一个错误“java.io.IOException:超出了 GC 开销限制”。然后我再次执行这段代码,运行 5 分钟后又出现错误:
火花驱动器意外停止并正在重新启动。您的笔记本将自动重新连接。
我不明白为什么会这样。事实上,对于分布式计算来说,数据集相当小,集群大小应该足以处理这些数据。我应该检查什么来解决它?
我也遇到了同样的情况,无法处理我的 35000 条记录 xlsx 文件。我尝试解决以下解决方案:
通过免费的Azure 订阅和14 天即用即付模式,您可以用更少的记录数处理 xlsx。就我的试用版而言,我必须将其更改为 25 条记录。
同时将工作线程类型降级为Standard_F4S 8GB 内存 4 核、0.5DBU、1 个工作线程配置。
添加了以下选项:
sqlContext.read.format(“com.crealytics.spark.excel”)。option("location","文件名在这里...").option("useHeader","true").option("treatEmptyValueAsNulls","true").option("maxRowsInMemory",20).option("inferSchema ","true").load("文件名在这里...")
| 归档时间: |
|
| 查看次数: |
23255 次 |
| 最近记录: |