#### **3.1.1 Fast Decimal**Decimal 的计算比较耗时,在一些情况下可以把 Decimal 类型先转成 Long 计算,然后再恢复成 Decimal。Spark 现有的优化规则 DecimalAggregates 就是做这样的优化。DecimalAggregates 针对 window/agg 的聚合函数是对 decimal 的 sum/agg 的场景做了如下优化:```Sum(e) => MakeDecimal(Sum(UnScaledValue(e)))Avg(e) => CastToDecimal(Avg(UnScaledValue(e)))```但是当前这个优化规则还不足够...
我们对比了火山引擎 LAS Spark 3.0 于社区 3.0 版本在 TPC-DS 上的性能表现。- Spark 3.0 **TPC** **-DS 1T 数据集**TPC-DS 1T 的性能对比中,火山引擎 LAS Spark 3.0 达到了社区 3.0 性能的 2.1x。![pic... DecimalAggregates 针对 window/agg 的聚合函数是对 decimal 的 sum/agg 的场景做了如下优化````Sum(e) => MakeDecimal(Sum(UnScaledValue(e)))Avg(e) => CastToDecimal(Avg(UnScaledValue(e)))````但是当前...
=&rk3s=8031ce6d&x-expires=1714926045&x-signature=a7RigehRDz7d6EMuKur3JYUjLb0%3D) ### **2. LocalSort****RowGroup Skipping作为细粒度的Data Skipping策略,数据分布对于RowGroup Skipping的影响较大。**数据分布越紧凑,min/max索引越精确,RowGroup Skipping效果越好。 如下左图,数据分散存储,RowGroup1中的a列分布在[2, 78],RowGroup2中的a列分布在[1, 99],对于过滤条件a=10,无法过滤任何一个Row...
我们对比了火山引擎 LAS Spark 3.0 于社区 3.0 版本在 TPC-DS 上的性能表现。- Spark 3.0 **TPC** **-DS 1T 数据集**TPC-DS 1T 的性能对比中,火山引擎 LAS Spark 3.0 达到了社区 3.0 性能的 2.1x。![pic... DecimalAggregates 针对 window/agg 的聚合函数是对 decimal 的 sum/agg 的场景做了如下优化````Sum(e) => MakeDecimal(Sum(UnScaledValue(e)))Avg(e) => CastToDecimal(Avg(UnScaledValue(e)))````但是当前...
=&rk3s=8031ce6d&x-expires=1714926045&x-signature=a7RigehRDz7d6EMuKur3JYUjLb0%3D) ### **2. LocalSort****RowGroup Skipping作为细粒度的Data Skipping策略,数据分布对于RowGroup Skipping的影响较大。**数据分布越紧凑,min/max索引越精确,RowGroup Skipping效果越好。 如下左图,数据分散存储,RowGroup1中的a列分布在[2, 78],RowGroup2中的a列分布在[1, 99],对于过滤条件a=10,无法过滤任何一个Row...