Spark 列中的数组最多可以容纳多少个条目?

问题描述 投票:0回答:1

我创建了一个结构体,其中包含一些列的数据。现在,我的唯一标识符值出现了大量这些结构。我想使用collect_list 将这些结构组合成一个数组。 不幸的是,我遇到了类似的错误

java.lang.Exception: Results too large
at com.databricks.backend.daemon.driver.OutputAggregator$.maybeApplyOutputAggregation(OutputAggregator.scala:458)

那么,Spark 列中的数组可以包含多少个元素(在我的例子中是结构体)?

这是我正在使用的 Scala 代码

val compact_df = deliveries_df
  .withColumn("file_detail", struct($"file_id", $"delivery_seqno", $"file_path_name"))
  .groupBy('delivery_id, 'delivery_file_type)
  .agg(collect_list('file_detail).alias("file_details"))
display(compact_df)
arrays dataframe apache-spark struct
1个回答
0
投票

数组(和映射)受到 jvm 的限制 - 未登录的价值为 20 亿。

考虑到每行都由字节数组支持,在单个数组大小之前也可能满足 2GB 的行/块限制。

© www.soinside.com 2019 - 2024. All rights reserved.