Spark中的数据帧列表

时间:2019-07-12 20:17:35

标签: java apache-spark

是否建议在Spark中创建数据帧列表?

List<Dataset<Row>> list = some method 

方法读取x个文件,以从中创建x个数据帧。这些数据帧被推到列表中。

此方法从驱动程序中调用,并返回通过将列表中的数据集加入而创建的单个数据框。

我对在驱动程序节点或工作程序节点上将在何处形成列表感到困惑?

是否建议创建一个数据框列表?

2 个答案:

答案 0 :(得分:0)

列表在驱动程序上。当执行动作时,每个条目都指向分布式或驱动程序上的DF。怎么可能呢?

很难评论DF列表的好坏。

答案 1 :(得分:0)

请记住,spark使用惰性执行,并且数据帧实际上只是执行图而不是数据(除非您已缓存数据)。在这种情况下,该列表将出现在驱动程序上,等待您对数据帧执行一项操作,以强制执行这些操作,例如写入数据。

您是否正在尝试将所有这些数据帧合并在一起?如果不确切知道要尝试执行的操作,通常可以更好地将数据帧的总数保持在合理数量<1k,因为每个数据帧都是执行图中需要优化的新节点。最终,您要尝试执行的操作将决定是否合理。