我想知道为什么spark在dataframe中使用有序模式,而不是使用基于名称的模式,其中两个模式被认为是相同的,如果它们对于每个列名具有相同的类型。
我的第一个问题是,在激发列排序的模式中对列排序有什么好处?当我们有这样的假设时,它会使Dataframe上的一些操作更快吗?
我的第二个问题是,我是否可以告诉spark,列的顺序对我来说并不重要,如果无序的列集合和它们的类型是相同的,那么就认为两个模式是相同的。
我想知道为什么spark在dataframe中使用有序模式,而不是使用基于名称的模式,其中两个模式被认为是相同的,如果它们对于每个列名具有相同的类型。
我的第一个问题是,在激发列排序的模式中对列排序有什么好处?当我们有这样的假设时,它会使Dataframe上的一些操作更快吗?
我的第二个问题是,我是否可以告诉spark,列的顺序对我来说并不重要,如果无序的列集合和它们的类型是相同的,那么就认为两个模式是相同的。
1条答案
按热度按时间mzmfm0qo1#
sparkDataframe不是关系数据库。它为某些类型的处理节省了时间;例如。
union
,它实际上将从最后一个df中获取名称。所以,这是一个实现细节。因此,你不能说秩序与Spark无关。请参见下面的并集:
注意,对于json模式推断,所有内容都是按字母顺序排列的。这对我来说很方便。