Skip to content

Instantly share code, notes, and snippets.

View kokosing's full-sized avatar
💤

Grzegorz Kokosiński kokosing

💤
View GitHub Profile
@kokosing
kokosing / gist:816b23121247294a7f4732edfacb6071
Created March 14, 2018 21:39
presto-cli options with kerberos
--server https://presto-master.docker.cluster:7778
--user hdfs
--keystore-path /docker/volumes/conf/presto/etc/docker.cluster.jks
--keystore-password 123456
--enable-authentication
--krb5-principal presto-client/[email protected]
--krb5-keytab-path /etc/presto/conf/presto-client.keytab
--krb5-remote-service-name presto-server
--krb5-config-path /etc/krb5.conf
@kokosing
kokosing / gist:d8c324e10d917b3f13112986d1808576
Created March 9, 2018 11:24
Consider cascade of already parititoned joins
commit 0727901cb54f2bf1438a22df2208788f6f8d7ddd
Author: Grzegorz Kokosiński <[email protected]>
Date: Fri Mar 9 11:59:04 2018 +0100
Consider cascade of already parititoned joins
diff --git a/presto-main/src/main/java/com/facebook/presto/cost/CostCalculatorWithEstimatedExchanges.java b/presto-main/src/main/java/com/facebook/presto/cost/CostCalculatorWithEstimatedExchanges.java
index 190f8b9311..49aba3ca13 100644
--- a/presto-main/src/main/java/com/facebook/presto/cost/CostCalculatorWithEstimatedExchanges.java
+++ b/presto-main/src/main/java/com/facebook/presto/cost/CostCalculatorWithEstimatedExchanges.java
diff --git a/presto-main/src/main/java/com/facebook/presto/server/ServerMainModule.java b/presto-main/src/main/java/com/facebook/presto/server/ServerMainModule.java
index 22a1873576..2e802e32d0 100644
--- a/presto-main/src/main/java/com/facebook/presto/server/ServerMainModule.java
+++ b/presto-main/src/main/java/com/facebook/presto/server/ServerMainModule.java
@@ -516,7 +516,7 @@ public class ServerMainModule
ImmutableList.Builder<ComposableStatsCalculator.Rule> rules = ImmutableList.builder();
rules.add(new OutputStatsRule());
rules.add(new TableScanStatsRule(metadata, normalizer));
- rules.add(new SimpleFilterProjectSemiJoinStatsRule(normalizer, filterStatsCalculator, new SemiJoinStatsCalculator())); // this must be before FilterStatsRule
+// rules.add(new SimpleFilterProjectSemiJoinStatsRule(normalizer, filterStatsCalculator, new SemiJoinStatsCalculator())); // this must be before FilterStatsRule
@kokosing
kokosing / gen_stats.sh
Last active July 5, 2018 11:16
Statistics json file generator from Presto hive stats
#!/bin/bash
set -euo pipefail
function generate() {
local stats_file=$1
local json_file=`echo $1 | sed 's/.stats//'`.json
while read line; do
line=$(echo $line | sed 's/"//g')
local rows=$(echo $line | cut -d, -f5)
@kokosing
kokosing / gist:d25bdf2f1e04efc5dc67774c6f4b39f1
Created February 21, 2018 10:06
Planner tests for spatial joins
commit 9b0a4a4d815e9a6f3838cfb9bfbd179b8361f74b
Author: Grzegorz Kokosiński <[email protected]>
Date: Wed Feb 21 11:03:39 2018 +0100
x
diff --git a/presto-geospatial/src/test/java/com/facebook/presto/plugin/geospatial/TestGeoPlanning.java b/presto-geospatial/src/test/java/com/facebook/presto/plugin/geospatial/TestGeoPlanning.java
new file mode 100644
index 0000000000..5abd2ec61f
--- /dev/null
@kokosing
kokosing / -
Created July 14, 2017 08:50
reorder joins log
nation - region [repartition] is (cpu: 2900, mem: 25, net: 0) (1 from 2,3)
nation - region [repartition flipped] is (cpu: 2900, mem: 500, net: 0) (4 from 3,2)
nation - region [best] is (cpu: 2900, mem: 25, net: 0) (1 from 2,3)
supplier - nation,region [repartition] is (cpu: 12425, mem: 175, net: 0) (5 from 6,1)
supplier - nation,region [repartition flipped] is (cpu: 12425, mem: 2050, net: 0) (7 from 1,6)
supplier - nation,region [best] is (cpu: 12425, mem: 175, net: 0) (5 from 6,1)
supplier - nation [repartition] is (cpu: 9500, mem: 500, net: 0) (8 from 6,2)
supplier - nation [repartition flipped] is (cpu: 9500, mem: 2000, net: 0) (9 from 2,6)
supplier - nation [best] is (cpu: 9500, mem: 500, net: 0) (8 from 6,2)
nation,supplier - region [repartition] is (cpu: 22775, mem: 1025, net: 0) (10 from 8,3)
@kokosing
kokosing / -
Last active July 14, 2017 12:55
reorder joins debug hack utility
commit c158afc2ce2e1ac05b0fbe4f82edc9011e37057c
Author: Grzegorz Kokosiński <[email protected]>
Date: Fri Jul 14 12:33:27 2017 +0200
Reorder joins debug infra
diff --git a/presto-main/src/main/java/com/facebook/presto/sql/planner/iterative/rule/ReorderJoins.java b/presto-main/src/main/java/com/facebook/presto/sql/planner/iterative/rule/ReorderJoins.java
index 9e1f2ad..1f25125 100644
--- a/presto-main/src/main/java/com/facebook/presto/sql/planner/iterative/rule/ReorderJoins.java
+++ b/presto-main/src/main/java/com/facebook/presto/sql/planner/iterative/rule/ReorderJoins.java
@kokosing
kokosing / -
Created July 12, 2017 04:45
Abstract expression rewrite rule set
diff --git a/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java b/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java
index 37e31f3..65bd8ef 100644
--- a/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java
+++ b/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java
@@ -163,7 +163,10 @@ public class PlanOptimizers
new PushProjectionThroughExchange()));
builder.add(
- new DesugaringOptimizer(metadata, sqlParser), // Clean up all the sugar in expressions, e.g. AtTimeZone, must be run before all the other optimizers
+ new IterativeOptimizer(
diff --git a/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java b/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java
index 37e31f3..65bd8ef 100644
--- a/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java
+++ b/presto-main/src/main/java/com/facebook/presto/sql/planner/PlanOptimizers.java
@@ -163,7 +163,10 @@ public class PlanOptimizers
new PushProjectionThroughExchange()));
builder.add(
- new DesugaringOptimizer(metadata, sqlParser), // Clean up all the sugar in expressions, e.g. AtTimeZone, must be run before all the other optimizers
+ new IterativeOptimizer(
@kokosing
kokosing / -
Created July 11, 2017 07:54
sort git commit before publishing pull request (git 2.7)
#!/bin/bash
EDITOR=true git rebase master --ignore-date --interactive -x 'git commit --amend -C HEAD --date="$(date -R)" && sleep 1.05'