我们可以在数据框 spark scala 中拥有的最大列数

Posted

技术标签:

【中文标题】我们可以在数据框 spark scala 中拥有的最大列数【英文标题】:maximum number of columns we can have in dataframe spark scala 【发布时间】:2017-06-15 02:52:18 【问题描述】:

我想知道我可以在数据框中拥有的最大列数,在维护数据框中的列数方面是否有任何限制。 谢谢。

【问题讨论】:

【参考方案1】:

省略您的详细信息,答案是是的,Apache Spark 中的列数有大小限制。

从理论上讲,这个限制取决于平台和每列元素的大小。

不要忘记 Java 受限于 JVM 的大小,而 executor 也受限于该大小 - Java largest object size in Heap.

我会回去参考这个Why does Spark RDD partition has 2GB limit for HDFS?,它指的是 HDFS 对块/分区大小的限制。

所以实际上有很多限制要考虑。

这意味着您可以轻松找到硬限制(Int.MaxValue par ex.),但更重要的是,Spark 仅适用于较长且相对较细的数据。 (如 pault 所述)。

最后,您需要记住,从根本上说,您不能在执行程序/分区之间拆分单个记录。并且有许多实际限制(GC、磁盘 IO)使得非常宽的数据不切实际。更不用说一些已知的错误了。

注意:我提到了@pault 和@RameshMaharjan,因为这个答案实际上是我们讨论的成果。 (以及来自其他answer 的@zero323 评论)。

【讨论】:

我希望这能做到@RameshMaharjan 你觉得@pault 怎么样? 目前没有收到通知,但我喜欢这样。我还发布了指向此处的另一个问题的链接。 这很棒:) 谢谢@RameshMaharjan

以上是关于我们可以在数据框 spark scala 中拥有的最大列数的主要内容,如果未能解决你的问题,请参考以下文章

如何将列表数组合并到单列中并使其适合现有的数据框?

如何获取我在一个类中拥有的所有公共变量的列表? (C#)

试图找到用户在 liferay 6.2 中拥有的所有权限并返回一个 JSON 对象

js打印object对象中拥有的方法名

如何在 Zeppelin/Spark/Scala 中漂亮地打印数据框?

在 Spark Scala 中加入后创建嵌套数据