{"push_id":1266768596,"size":1,"distinct_size":1,"ref":"refs/heads/master","head":"2b0cc4e0dfa4ffb9f21ff4a303015bc9c962d42b","before":"6b8cb1fe52e2c8b4b87b0c7d820f3a1824287328","commits":[{"sha":"2b0cc4e0dfa4ffb9f21ff4a303015bc9c962d42b","author":{"name":"Takeshi YAMAMURO","email":"c77105bb36ce8e17a5fe8a8e3953cfa3aa730380@gmail.com"},"message":"[SPARK-12978][SQL] Skip unnecessary final group-by when input data already clustered with group-by keys\n\nThis ticket targets the optimization to skip an unnecessary group-by operation below;\n\nWithout opt.:\n```\n== Physical Plan ==\nTungstenAggregate(key=[col0#159], functions=[(sum(col1#160),mode=Final,isDistinct=false),(avg(col2#161),mode=Final,isDistinct=false)], output=[col0#159,sum(col1)#177,avg(col2)#178])\n+- TungstenAggregate(key=[col0#159], functions=[(sum(col1#160),mode=Partial,isDistinct=false),(avg(col2#161),mode=Partial,isDistinct=false)], output=[col0#159,sum#200,sum#201,count#202L])\n   +- TungstenExchange hashpartitioning(col0#159,200), None\n      +- InMemoryColumnarTableScan [col0#159,col1#160,col2#161], InMemoryRelation [col0#159,col1#160,col2#161], true, 10000, StorageLevel(true, true, false, true, 1), ConvertToUnsafe, None\n```\n\nWith opt.:\n```\n== Physical Plan ==\nTungstenAggregate(key=[col0#159], functions=[(sum(col1#160),mode=Complete,isDistinct=false),(avg(col2#161),mode=Final,isDistinct=false)], output=[col0#159,sum(col1)#177,avg(col2)#178])\n+- TungstenExchange hashpartitioning(col0#159,200), None\n  +- InMemoryColumnarTableScan [col0#159,col1#160,col2#161], InMemoryRelation [col0#159,col1#160,col2#161], true, 10000, StorageLevel(true, true, false, true, 1), ConvertToUnsafe, None\n```\n\nAuthor: Takeshi YAMAMURO <linguin.m.s@gmail.com>\n\nCloses #10896 from maropu/SkipGroupbySpike.","distinct":true,"url":"https://api.github.com/repos/apache/spark/commits/2b0cc4e0dfa4ffb9f21ff4a303015bc9c962d42b"}]}
{"actor":{"display_login":"asfgit"}}