我们通常使用withColumn函数将列添加到现有的spark数据帧中。
只是想知道,如果我们在数据集中有数百万行,
$guards = array_keys(config('auth.guards'));
return collect($guards)->first(function($guard){
return auth()->guard($guard)->check();
});
方法检查数据集每一行的条件??
如果是,那么性能不佳不是吗? &还有什么更好的方法
答案 0 :(得分:0)
是的withColumn("columnName", column expression)
将针对每一行(数百万行)进行评估。这是一个映射操作,因此具有线性可伸缩性。我不会担心性能会取决于操作的复杂性。
如果您的操作需要每一行的数据,则必须为每一行执行数据。 如果每个数据帧或该数据帧的分区的操作相同,则可以为每个数据帧或该分区执行一次该操作,并将结果写入每一行,这样可以减少一些开销。