Yes, as long as you are only talking about summing numeric values. Part of my point, though, is that this is just a special case of folding or aggregating with an initial or 'zero' value. It doesn't need to be limited to just numeric sums with zero = 0.
On Tue, Oct 23, 2018 at 12:23 AM Wenchen Fan <cloud0...@gmail.com> wrote: > This is logically `sum( if(isnull(col), 0, col) )` right? > > On Tue, Oct 23, 2018 at 2:58 PM 陶 加涛 <taojia...@gmail.com> wrote: > >> The name is from Apache Calcite, And it doesn’t matter, we can introduce >> our own. >> >> >> >> >> >> --- >> >> Regards! >> >> Aron Tao >> >> >> >> *发件人**: *Mark Hamstra <m...@clearstorydata.com> >> *日期**: *2018年10月23日 星期二 12:28 >> *收件人**: *"taojia...@gmail.com" <taojia...@gmail.com> >> *抄送**: *dev <dev@spark.apache.org> >> *主题**: *Re: About introduce function sum0 to Spark >> >> >> >> That's a horrible name. This is just a fold. >> >> >> >> On Mon, Oct 22, 2018 at 7:39 PM 陶 加涛 <taojia...@gmail.com> wrote: >> >> Hi, in calcite, has the concept of sum0, here I quote the definition of >> sum0: >> >> >> >> Sum0 is an aggregator which returns the sum of the values which >> >> go into it like Sum. It differs in that when no non null values >> >> are applied zero is returned instead of null.. >> >> >> >> One scenario is that we can use sum0 to implement pre-calculation >> count(pre-calculation system like Apache Kylin). >> >> >> >> It is very easy in Spark to implement sum0, if community consider this is >> necessary, I would like to open a JIRA and implement this. >> >> >> >> --- >> >> Regards! >> >> Aron Tao >> >> >> >>