Skip to content

Instantly share code, notes, and snippets.

WithoutHash_1 38.00ms
WithoutHash_2 73.16ms
WithoutHash_3 41.63ms
WithoutHash_4 68.75ms
WithoutHash_5 28.33ms
WithoutHash_6 71.54ms
WithoutHash_7 58.94ms
WithoutHash_8 66.81ms
WithoutHash_9 27.91ms
WithoutHash_10 73.82ms
presto:tiny> explain SELECT * FROM (SELECT row_number() over(partition by orderstatus) rn, orderkey, orderstatus, custkey from orders) where rn < 10;
Query Plan
--------------------------------------------------------------------------------------------------------------------------------------
- Output[rn, orderkey, orderstatus, custkey]
rn := row_1
- Filter[("row_1" < 10)] => [orderkey:bigint, custkey:bigint, orderstatus:varchar, row_1:bigint]
- RowNumber[partition by (orderstatus) , limit (9) ] => [orderkey:bigint, custkey:bigint, orderstatus:varchar, row_1:bigint]
row_1 := row_number()
- TableScan[tpch:tpch:orders:sf0.01, original constraint=true] => [orderkey:bigint, custkey:bigint, orderstatus:varchar]
orderkey := tpch:tpch:orderkey:0
diff --git a/presto-hive/src/main/java/com/facebook/presto/hive/HiveType.java b/presto-hive/src/main/java/com/facebook/presto/hive/HiveType.java
index d043fd6..3a5ec58 100644
--- a/presto-hive/src/main/java/com/facebook/presto/hive/HiveType.java
+++ b/presto-hive/src/main/java/com/facebook/presto/hive/HiveType.java
@@ -26,6 +26,7 @@ import com.fasterxml.jackson.annotation.JsonValue;
import com.google.common.base.Function;
import com.google.common.collect.ImmutableSet;
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
+import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
- Output[orderpriority, shippriority]
- Project => [orderpriority:varchar, shippriority:bigint]
- Aggregate[orderpriority, shippriority] => [orderpriority:varchar, shippriority:bigint, $hashvalue:bigint]
- Project => [orderpriority:varchar, shippriority:bigint, $hashvalue:bigint]
$hashvalue := "hash"("hash"(0, "$operator$hash_code"("orderpriority")), "$operator$hash_code"("shippriority"))
- TableScan[local:tpch:orders:sf0.01, original constraint=true] => [orderpriority:varchar, shippriority:bigint]
orderpriority := local:tpch:orderpriority:5
shippriority := local:tpch:shippriority:7
== GroupByHashBenchmark (trunk) ==
Benchmark Mode Samples Score Score error Units
c.f.p.o.GroupByHashBenchmark.testExistingGroupIds avgt 10 0.005 0.000 ms/op // all groupIds already exist
c.f.p.o.GroupByHashBenchmark.testNewGroupIds avgt 10 0.996 0.165 ms/op // all groupIds new
c.f.p.o.GroupByHashBenchmark.testMixGroupIds avgt 10 0.007 0.000 ms/op // half already exist
== GroupByHashBenchmark (branch) ==
Benchmark Mode Samples Score Score error Units
c.f.p.o.GroupByHashBenchmark.testExistingGroupIds avgt 10 0.006 0.000 ms/op
c.f.p.o.GroupByHashBenchmark.testNewGroupIds avgt 10 0.024 0.000 ms/op
=== Run with changes to groupByHash ===
Benchmark Mode Samples Score Score error Units
c.f.p.o.GroupByHashBenchmark.testContains avgt 10 0.000 0.000 ms/op
c.f.p.o.GroupByHashBenchmark.testExistingGroupIds avgt 10 0.006 0.000 ms/op // All groupIds already exist in group by hash
c.f.p.o.GroupByHashBenchmark.testMixGroupIds avgt 10 0.008 0.000 ms/op // Half groupIds exist in group by hash
c.f.p.o.GroupByHashBenchmark.testNewGroupIds avgt 10 0.025 0.000 ms/op // No groupIds exist in group by hash
=== Run on current trunk ===
Benchmark Mode Samples Score Score error Units
c.f.p.o.GroupByHashBenchmark.testContains avgt 10 0.000 0.000 ms/op
presto:tiny> explain SELECT * FROM (SELECT row_number() over() rn, orderkey, orderstatus, custkey from orders) where rn < 10
-> ;
Query Plan
--------------------------------------------------------------------------------------------------------------------------------------
- Output[rn, orderkey, orderstatus, custkey]
rn := row_1
- Filter[("row_1" < 10)] => [orderkey:bigint, custkey:bigint, orderstatus:varchar, row_1:bigint]
- RowNumber[] => [orderkey:bigint, custkey:bigint, orderstatus:varchar, row_1:bigint]
row_1 := row_number()
- TableScan[tpch:tpch:orders:sf0.01, original constraint=true] => [orderkey:bigint, custkey:bigint, orderstatus:varchar]
SELECT * FROM (SELECT row_number() over() rn, orderkey, orderstatus, custkey from orders) where rn < 10
- Output[rn, orderkey, orderstatus, custkey]
rn := row_1
- Window[] => [orderkey:bigint, custkey:bigint, orderstatus:varchar, row_1:bigint]
row_1 := row_number()
- Limit[9] => [orderkey:bigint, custkey:bigint, orderstatus:varchar]
- TableScan[local:tpch:orders:sf0.01, original constraint=true] => [orderkey:bigint, custkey:bigint, orderstatus:varchar]
orderkey := local:tpch:orderkey:0
custkey := local:tpch:custkey:1
orderstatus := local:tpch:orderstatus:2
Input
=======
fbid1,fbid2,name
9,9,z
99,99,zz
999,999,zzz
Output
=========
presto:default> select * from test_loader_column_names;
struct BlacklistEntry {
1: optional string user;
2: optional string source;
3: optional string host;
}
struct PrestoBlacklistConfig {
1: list<BlacklistEntry> blacklistedEntries;
}