This is an automated email from the ASF dual-hosted git repository. fjy pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-druid.git
The following commit(s) were added to refs/heads/master by this push: new eef6961 add support for multi-value string dimensions for HllSketch build aggregator (#7730) eef6961 is described below commit eef69619d39f26094963fc68ab3d51cb84bd66ee Author: Clint Wylie <cwy...@apache.org> AuthorDate: Thu May 23 17:07:32 2019 -0700 add support for multi-value string dimensions for HllSketch build aggregator (#7730) --- .../datasketches/hll/HllSketchBuildAggregator.java | 8 + .../datasketches/hll/GenerateTestData.java | 16 + .../datasketches/hll/HllSketchAggregatorTest.java | 53 ++- .../src/test/resources/hll/hll_raw.tsv | 400 ++++++++++----------- .../src/test/resources/hll/hll_sketches.tsv | 200 +++++------ 5 files changed, 372 insertions(+), 305 deletions(-) diff --git a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchBuildAggregator.java b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchBuildAggregator.java index 66c2036..4f77260 100644 --- a/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchBuildAggregator.java +++ b/extensions-core/datasketches/src/main/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchBuildAggregator.java @@ -25,6 +25,8 @@ import org.apache.druid.java.util.common.IAE; import org.apache.druid.query.aggregation.Aggregator; import org.apache.druid.segment.ColumnValueSelector; +import java.util.List; + /** * This aggregator builds sketches from raw data. * The input column can contain identifiers of type string, char[], byte[] or any numeric type. @@ -99,6 +101,12 @@ public class HllSketchBuildAggregator implements Aggregator sketch.update(((Number) value).doubleValue()); } else if (value instanceof String) { sketch.update(((String) value).toCharArray()); + } else if (value instanceof List) { + // noinspection unchecked + List<String> list = (List<String>) value; + for (String v : list) { + sketch.update(v.toCharArray()); + } } else if (value instanceof char[]) { sketch.update((char[]) value); } else if (value instanceof byte[]) { diff --git a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/GenerateTestData.java b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/GenerateTestData.java index f877cef..3a40aee 100644 --- a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/GenerateTestData.java +++ b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/GenerateTestData.java @@ -70,6 +70,14 @@ class GenerateTestData out.write("\t"); out.write(dimension); out.write("\t"); + int parsed = Integer.parseInt(dimension); + for (int i = parsed; i < parsed + 5; i++) { + out.write(Integer.toString(i)); + if (i + 1 < parsed + 5) { + out.write(","); + } + } + out.write("\t"); out.write(Integer.toString(id)); out.newLine(); } @@ -80,6 +88,14 @@ class GenerateTestData out.write("\t"); out.write(dimension); out.write("\t"); + int parsed = Integer.parseInt(dimension); + for (int i = parsed; i < parsed + 5; i++) { + out.write(Integer.toString(i)); + if (i + 1 < parsed + 5) { + out.write(","); + } + } + out.write("\t"); out.write(StringUtils.encodeBase64String(sketch.toCompactByteArray())); out.newLine(); } diff --git a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchAggregatorTest.java b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchAggregatorTest.java index f0b995e..0490b34 100644 --- a/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchAggregatorTest.java +++ b/extensions-core/datasketches/src/test/java/org/apache/druid/query/aggregation/datasketches/hll/HllSketchAggregatorTest.java @@ -74,11 +74,12 @@ public class HllSketchAggregatorTest " \"format\": \"tsv\",", " \"timestampSpec\": {\"column\": \"timestamp\", \"format\": \"yyyyMMdd\"},", " \"dimensionsSpec\": {", - " \"dimensions\": [\"dim\"],", + " \"dimensions\": [\"dim\", \"multiDim\"],", " \"dimensionExclusions\": [],", " \"spatialDimensions\": []", " },", - " \"columns\": [\"timestamp\", \"dim\", \"sketch\"]", + " \"columns\": [\"timestamp\", \"dim\", \"multiDim\", \"sketch\"],", + " \"listDelimiter\": \",\"", " }", "}"), String.join("\n", @@ -121,7 +122,8 @@ public class HllSketchAggregatorTest " \"dimensionExclusions\": [],", " \"spatialDimensions\": []", " },", - " \"columns\": [\"timestamp\", \"dim\", \"id\"]", + " \"columns\": [\"timestamp\", \"dim\", \"multiDim\", \"id\"],", + " \"listDelimiter\": \",\"", " }", "}"), String.join("\n", @@ -160,11 +162,12 @@ public class HllSketchAggregatorTest " \"format\": \"tsv\",", " \"timestampSpec\": {\"column\": \"timestamp\", \"format\": \"yyyyMMdd\"},", " \"dimensionsSpec\": {", - " \"dimensions\": [\"dim\", \"id\"],", + " \"dimensions\": [\"dim\", \"multiDim\", \"id\"],", " \"dimensionExclusions\": [],", " \"spatialDimensions\": []", " },", - " \"columns\": [\"timestamp\", \"dim\", \"id\"]", + " \"columns\": [\"timestamp\", \"dim\", \"multiDim\", \"id\"],", + " \"listDelimiter\": \",\"", " }", "}"), "[]", @@ -188,4 +191,44 @@ public class HllSketchAggregatorTest Assert.assertEquals(200, (double) row.getMetric("sketch"), 0.1); } + @Test + public void buildSketchesAtQueryTimeMultiValue() throws Exception + { + Sequence<Row> seq = helper.createIndexAndRunQueryOnSegment( + new File(this.getClass().getClassLoader().getResource("hll/hll_raw.tsv").getFile()), + String.join("\n", + "{", + " \"type\": \"string\",", + " \"parseSpec\": {", + " \"format\": \"tsv\",", + " \"timestampSpec\": {\"column\": \"timestamp\", \"format\": \"yyyyMMdd\"},", + " \"dimensionsSpec\": {", + " \"dimensions\": [\"dim\", \"multiDim\", \"id\"],", + " \"dimensionExclusions\": [],", + " \"spatialDimensions\": []", + " },", + " \"columns\": [\"timestamp\", \"dim\", \"multiDim\", \"id\"],", + " \"listDelimiter\": \",\"", + " }", + "}"), + "[]", + 0, // minTimestamp + Granularities.NONE, + 200, // maxRowCount + String.join("\n", + "{", + " \"queryType\": \"groupBy\",", + " \"dataSource\": \"test_datasource\",", + " \"granularity\": \"ALL\",", + " \"dimensions\": [],", + " \"aggregations\": [", + " {\"type\": \"HLLSketchBuild\", \"name\": \"sketch\", \"fieldName\": \"multiDim\"}", + " ],", + " \"intervals\": [\"2017-01-01T00:00:00.000Z/2017-01-31T00:00:00.000Z\"]", + "}")); + List<Row> results = seq.toList(); + Assert.assertEquals(1, results.size()); + Row row = results.get(0); + Assert.assertEquals(14, (double) row.getMetric("sketch"), 0.1); + } } diff --git a/extensions-core/datasketches/src/test/resources/hll/hll_raw.tsv b/extensions-core/datasketches/src/test/resources/hll/hll_raw.tsv index 476c857..42c01cf 100644 --- a/extensions-core/datasketches/src/test/resources/hll/hll_raw.tsv +++ b/extensions-core/datasketches/src/test/resources/hll/hll_raw.tsv @@ -1,200 +1,200 @@ -20170101 7 0 -20170101 7 1 -20170101 9 2 -20170101 9 3 -20170101 4 4 -20170101 4 5 -20170101 1 6 -20170101 1 7 -20170101 1 8 -20170101 1 9 -20170101 10 10 -20170101 10 11 -20170101 9 12 -20170101 9 13 -20170101 5 14 -20170101 5 15 -20170101 3 16 -20170101 3 17 -20170101 4 18 -20170101 4 19 -20170101 9 20 -20170101 9 21 -20170101 1 22 -20170101 1 23 -20170101 9 24 -20170101 9 25 -20170101 10 26 -20170101 10 27 -20170101 3 28 -20170101 3 29 -20170101 10 30 -20170101 10 31 -20170101 10 32 -20170101 10 33 -20170101 2 34 -20170101 2 35 -20170101 10 36 -20170101 10 37 -20170101 9 38 -20170101 9 39 -20170101 1 40 -20170101 1 41 -20170101 5 42 -20170101 5 43 -20170101 7 44 -20170101 7 45 -20170101 7 46 -20170101 7 47 -20170101 7 48 -20170101 7 49 -20170101 9 50 -20170101 9 51 -20170101 5 52 -20170101 5 53 -20170101 6 54 -20170101 6 55 -20170101 6 56 -20170101 6 57 -20170101 5 58 -20170101 5 59 -20170101 3 60 -20170101 3 61 -20170101 3 62 -20170101 3 63 -20170101 2 64 -20170101 2 65 -20170101 6 66 -20170101 6 67 -20170101 3 68 -20170101 3 69 -20170101 2 70 -20170101 2 71 -20170101 3 72 -20170101 3 73 -20170101 8 74 -20170101 8 75 -20170101 4 76 -20170101 4 77 -20170101 6 78 -20170101 6 79 -20170101 10 80 -20170101 10 81 -20170101 5 82 -20170101 5 83 -20170101 1 84 -20170101 1 85 -20170101 3 86 -20170101 3 87 -20170101 9 88 -20170101 9 89 -20170101 2 90 -20170101 2 91 -20170101 9 92 -20170101 9 93 -20170101 4 94 -20170101 4 95 -20170101 2 96 -20170101 2 97 -20170101 5 98 -20170101 5 99 -20170101 8 100 -20170101 8 101 -20170101 8 102 -20170101 8 103 -20170101 7 104 -20170101 7 105 -20170101 6 106 -20170101 6 107 -20170101 1 108 -20170101 1 109 -20170101 5 110 -20170101 5 111 -20170101 5 112 -20170101 5 113 -20170101 2 114 -20170101 2 115 -20170101 1 116 -20170101 1 117 -20170101 5 118 -20170101 5 119 -20170101 10 120 -20170101 10 121 -20170101 8 122 -20170101 8 123 -20170101 10 124 -20170101 10 125 -20170101 4 126 -20170101 4 127 -20170101 8 128 -20170101 8 129 -20170101 2 130 -20170101 2 131 -20170101 9 132 -20170101 9 133 -20170101 2 134 -20170101 2 135 -20170101 8 136 -20170101 8 137 -20170101 1 138 -20170101 1 139 -20170101 2 140 -20170101 2 141 -20170101 3 142 -20170101 3 143 -20170101 8 144 -20170101 8 145 -20170101 6 146 -20170101 6 147 -20170101 3 148 -20170101 3 149 -20170101 1 150 -20170101 1 151 -20170101 4 152 -20170101 4 153 -20170101 7 154 -20170101 7 155 -20170101 6 156 -20170101 6 157 -20170101 6 158 -20170101 6 159 -20170101 10 160 -20170101 10 161 -20170101 7 162 -20170101 7 163 -20170101 8 164 -20170101 8 165 -20170101 2 166 -20170101 2 167 -20170101 6 168 -20170101 6 169 -20170101 2 170 -20170101 2 171 -20170101 7 172 -20170101 7 173 -20170101 8 174 -20170101 8 175 -20170101 3 176 -20170101 3 177 -20170101 1 178 -20170101 1 179 -20170101 10 180 -20170101 10 181 -20170101 3 182 -20170101 3 183 -20170101 6 184 -20170101 6 185 -20170101 5 186 -20170101 5 187 -20170101 3 188 -20170101 3 189 -20170101 9 190 -20170101 9 191 -20170101 6 192 -20170101 6 193 -20170101 9 194 -20170101 9 195 -20170101 5 196 -20170101 5 197 -20170101 2 198 -20170101 2 199 +20170101 2 2,3,4,5,6 0 +20170101 2 2,3,4,5,6 1 +20170101 4 4,5,6,7,8 2 +20170101 4 4,5,6,7,8 3 +20170101 8 8,9,10,11,12 4 +20170101 8 8,9,10,11,12 5 +20170101 8 8,9,10,11,12 6 +20170101 8 8,9,10,11,12 7 +20170101 6 6,7,8,9,10 8 +20170101 6 6,7,8,9,10 9 +20170101 5 5,6,7,8,9 10 +20170101 5 5,6,7,8,9 11 +20170101 10 10,11,12,13,14 12 +20170101 10 10,11,12,13,14 13 +20170101 3 3,4,5,6,7 14 +20170101 3 3,4,5,6,7 15 +20170101 4 4,5,6,7,8 16 +20170101 4 4,5,6,7,8 17 +20170101 3 3,4,5,6,7 18 +20170101 3 3,4,5,6,7 19 +20170101 10 10,11,12,13,14 20 +20170101 10 10,11,12,13,14 21 +20170101 4 4,5,6,7,8 22 +20170101 4 4,5,6,7,8 23 +20170101 4 4,5,6,7,8 24 +20170101 4 4,5,6,7,8 25 +20170101 8 8,9,10,11,12 26 +20170101 8 8,9,10,11,12 27 +20170101 6 6,7,8,9,10 28 +20170101 6 6,7,8,9,10 29 +20170101 4 4,5,6,7,8 30 +20170101 4 4,5,6,7,8 31 +20170101 6 6,7,8,9,10 32 +20170101 6 6,7,8,9,10 33 +20170101 6 6,7,8,9,10 34 +20170101 6 6,7,8,9,10 35 +20170101 10 10,11,12,13,14 36 +20170101 10 10,11,12,13,14 37 +20170101 4 4,5,6,7,8 38 +20170101 4 4,5,6,7,8 39 +20170101 8 8,9,10,11,12 40 +20170101 8 8,9,10,11,12 41 +20170101 10 10,11,12,13,14 42 +20170101 10 10,11,12,13,14 43 +20170101 1 1,2,3,4,5 44 +20170101 1 1,2,3,4,5 45 +20170101 3 3,4,5,6,7 46 +20170101 3 3,4,5,6,7 47 +20170101 3 3,4,5,6,7 48 +20170101 3 3,4,5,6,7 49 +20170101 4 4,5,6,7,8 50 +20170101 4 4,5,6,7,8 51 +20170101 4 4,5,6,7,8 52 +20170101 4 4,5,6,7,8 53 +20170101 7 7,8,9,10,11 54 +20170101 7 7,8,9,10,11 55 +20170101 7 7,8,9,10,11 56 +20170101 7 7,8,9,10,11 57 +20170101 3 3,4,5,6,7 58 +20170101 3 3,4,5,6,7 59 +20170101 9 9,10,11,12,13 60 +20170101 9 9,10,11,12,13 61 +20170101 6 6,7,8,9,10 62 +20170101 6 6,7,8,9,10 63 +20170101 7 7,8,9,10,11 64 +20170101 7 7,8,9,10,11 65 +20170101 5 5,6,7,8,9 66 +20170101 5 5,6,7,8,9 67 +20170101 7 7,8,9,10,11 68 +20170101 7 7,8,9,10,11 69 +20170101 3 3,4,5,6,7 70 +20170101 3 3,4,5,6,7 71 +20170101 7 7,8,9,10,11 72 +20170101 7 7,8,9,10,11 73 +20170101 9 9,10,11,12,13 74 +20170101 9 9,10,11,12,13 75 +20170101 5 5,6,7,8,9 76 +20170101 5 5,6,7,8,9 77 +20170101 7 7,8,9,10,11 78 +20170101 7 7,8,9,10,11 79 +20170101 2 2,3,4,5,6 80 +20170101 2 2,3,4,5,6 81 +20170101 6 6,7,8,9,10 82 +20170101 6 6,7,8,9,10 83 +20170101 10 10,11,12,13,14 84 +20170101 10 10,11,12,13,14 85 +20170101 6 6,7,8,9,10 86 +20170101 6 6,7,8,9,10 87 +20170101 6 6,7,8,9,10 88 +20170101 6 6,7,8,9,10 89 +20170101 8 8,9,10,11,12 90 +20170101 8 8,9,10,11,12 91 +20170101 4 4,5,6,7,8 92 +20170101 4 4,5,6,7,8 93 +20170101 4 4,5,6,7,8 94 +20170101 4 4,5,6,7,8 95 +20170101 9 9,10,11,12,13 96 +20170101 9 9,10,11,12,13 97 +20170101 1 1,2,3,4,5 98 +20170101 1 1,2,3,4,5 99 +20170101 1 1,2,3,4,5 100 +20170101 1 1,2,3,4,5 101 +20170101 6 6,7,8,9,10 102 +20170101 6 6,7,8,9,10 103 +20170101 6 6,7,8,9,10 104 +20170101 6 6,7,8,9,10 105 +20170101 2 2,3,4,5,6 106 +20170101 2 2,3,4,5,6 107 +20170101 5 5,6,7,8,9 108 +20170101 5 5,6,7,8,9 109 +20170101 5 5,6,7,8,9 110 +20170101 5 5,6,7,8,9 111 +20170101 3 3,4,5,6,7 112 +20170101 3 3,4,5,6,7 113 +20170101 3 3,4,5,6,7 114 +20170101 3 3,4,5,6,7 115 +20170101 1 1,2,3,4,5 116 +20170101 1 1,2,3,4,5 117 +20170101 6 6,7,8,9,10 118 +20170101 6 6,7,8,9,10 119 +20170101 5 5,6,7,8,9 120 +20170101 5 5,6,7,8,9 121 +20170101 10 10,11,12,13,14 122 +20170101 10 10,11,12,13,14 123 +20170101 4 4,5,6,7,8 124 +20170101 4 4,5,6,7,8 125 +20170101 4 4,5,6,7,8 126 +20170101 4 4,5,6,7,8 127 +20170101 8 8,9,10,11,12 128 +20170101 8 8,9,10,11,12 129 +20170101 6 6,7,8,9,10 130 +20170101 6 6,7,8,9,10 131 +20170101 7 7,8,9,10,11 132 +20170101 7 7,8,9,10,11 133 +20170101 7 7,8,9,10,11 134 +20170101 7 7,8,9,10,11 135 +20170101 8 8,9,10,11,12 136 +20170101 8 8,9,10,11,12 137 +20170101 7 7,8,9,10,11 138 +20170101 7 7,8,9,10,11 139 +20170101 4 4,5,6,7,8 140 +20170101 4 4,5,6,7,8 141 +20170101 7 7,8,9,10,11 142 +20170101 7 7,8,9,10,11 143 +20170101 3 3,4,5,6,7 144 +20170101 3 3,4,5,6,7 145 +20170101 7 7,8,9,10,11 146 +20170101 7 7,8,9,10,11 147 +20170101 5 5,6,7,8,9 148 +20170101 5 5,6,7,8,9 149 +20170101 9 9,10,11,12,13 150 +20170101 9 9,10,11,12,13 151 +20170101 1 1,2,3,4,5 152 +20170101 1 1,2,3,4,5 153 +20170101 8 8,9,10,11,12 154 +20170101 8 8,9,10,11,12 155 +20170101 4 4,5,6,7,8 156 +20170101 4 4,5,6,7,8 157 +20170101 2 2,3,4,5,6 158 +20170101 2 2,3,4,5,6 159 +20170101 3 3,4,5,6,7 160 +20170101 3 3,4,5,6,7 161 +20170101 5 5,6,7,8,9 162 +20170101 5 5,6,7,8,9 163 +20170101 1 1,2,3,4,5 164 +20170101 1 1,2,3,4,5 165 +20170101 6 6,7,8,9,10 166 +20170101 6 6,7,8,9,10 167 +20170101 5 5,6,7,8,9 168 +20170101 5 5,6,7,8,9 169 +20170101 5 5,6,7,8,9 170 +20170101 5 5,6,7,8,9 171 +20170101 5 5,6,7,8,9 172 +20170101 5 5,6,7,8,9 173 +20170101 9 9,10,11,12,13 174 +20170101 9 9,10,11,12,13 175 +20170101 5 5,6,7,8,9 176 +20170101 5 5,6,7,8,9 177 +20170101 7 7,8,9,10,11 178 +20170101 7 7,8,9,10,11 179 +20170101 9 9,10,11,12,13 180 +20170101 9 9,10,11,12,13 181 +20170101 9 9,10,11,12,13 182 +20170101 9 9,10,11,12,13 183 +20170101 2 2,3,4,5,6 184 +20170101 2 2,3,4,5,6 185 +20170101 5 5,6,7,8,9 186 +20170101 5 5,6,7,8,9 187 +20170101 10 10,11,12,13,14 188 +20170101 10 10,11,12,13,14 189 +20170101 5 5,6,7,8,9 190 +20170101 5 5,6,7,8,9 191 +20170101 2 2,3,4,5,6 192 +20170101 2 2,3,4,5,6 193 +20170101 8 8,9,10,11,12 194 +20170101 8 8,9,10,11,12 195 +20170101 4 4,5,6,7,8 196 +20170101 4 4,5,6,7,8 197 +20170101 4 4,5,6,7,8 198 +20170101 4 4,5,6,7,8 199 diff --git a/extensions-core/datasketches/src/test/resources/hll/hll_sketches.tsv b/extensions-core/datasketches/src/test/resources/hll/hll_sketches.tsv index bae1df5..cc213e0 100644 --- a/extensions-core/datasketches/src/test/resources/hll/hll_sketches.tsv +++ b/extensions-core/datasketches/src/test/resources/hll/hll_sketches.tsv @@ -1,100 +1,100 @@ -20170101 7 AgEHDAMIAgDL18IEK/L7Bg== -20170101 9 AgEHDAMIAgCGL/kNdYFmBw== -20170101 4 AgEHDAMIAgCBvF0Ge2XmCA== -20170101 1 AgEHDAMIAgD8LUIKwekXBQ== -20170101 1 AgEHDAMIAgDSFnMHNKJhDg== -20170101 10 AgEHDAMIAgCwW0YS9nHyBg== -20170101 9 AgEHDAMIAgBGSrcErjyIEQ== -20170101 5 AgEHDAMIAgB8dLkH21ItBA== -20170101 3 AgEHDAMIAgBuxTQGzvBbHw== -20170101 4 AgEHDAMIAgC4P/kHw91RBA== -20170101 9 AgEHDAMIAgDIeiQExLWfBw== -20170101 1 AgEHDAMIAgA2RwkHnuSbGA== -20170101 9 AgEHDAMIAgC4VqkM7y33Bw== -20170101 10 AgEHDAMIAgAiO+sFxhlqBA== -20170101 3 AgEHDAMIAgA1qTEEWX/UDQ== -20170101 10 AgEHDAMIAgCXu2AajcSJCQ== -20170101 10 AgEHDAMIAgCeLWoHzqDvBQ== -20170101 2 AgEHDAMIAgCqc4cWhGnMBQ== -20170101 10 AgEHDAMIAgBt5R0Hti8JBg== -20170101 9 AgEHDAMIAgCUB8IEMiViBQ== -20170101 1 AgEHDAMIAgCTVDEFAiK0BA== -20170101 5 AgEHDAMIAgAavNAFj8OwBg== -20170101 7 AgEHDAMIAgDXeDQGMENfDg== -20170101 7 AgEHDAMIAgCheuQJP5BIBA== -20170101 7 AgEHDAMIAgAsRgUGxmI0Bw== -20170101 9 AgEHDAMIAgDDnJofYZmnBw== -20170101 5 AgEHDAMIAgCFiqsL1VKVCQ== -20170101 6 AgEHDAMIAgDnUe4E2xeaCg== -20170101 6 AgEHDAMIAgCwPp0H0U97BQ== -20170101 5 AgEHDAMIAgCyqLgGqj5jBw== -20170101 3 AgEHDAMIAgBkPRYFjUmsBQ== -20170101 3 AgEHDAMIAgDnz5UX753zEA== -20170101 2 AgEHDAMIAgCj85wK1ZcUBw== -20170101 6 AgEHDAMIAgBkE7cG3Z96Cw== -20170101 3 AgEHDAMIAgD8kLYF7eg9BQ== -20170101 2 AgEHDAMIAgDVIhcT4DFZEA== -20170101 3 AgEHDAMIAgAvGhMHFUS2Bw== -20170101 8 AgEHDAMIAgDyeFwMqTu1Bw== -20170101 4 AgEHDAMIAgDe2xkLtUytDw== -20170101 6 AgEHDAMIAgDppI4TO2muBA== -20170101 10 AgEHDAMIAgCdCmwPh7aqBA== -20170101 5 AgEHDAMIAgBqQDsN4K6sCA== -20170101 1 AgEHDAMIAgCUwyEEmog3Bw== -20170101 3 AgEHDAMIAgAgZuMSvhmBBQ== -20170101 9 AgEHDAMIAgCkeLMHu8kBBQ== -20170101 2 AgEHDAMIAgDUi4wEmUlCBA== -20170101 9 AgEHDAMIAgBl34oQH7oiCA== -20170101 4 AgEHDAMIAgBvy0oHqRolBw== -20170101 2 AgEHDAMIAgDfVngR3FoBBg== -20170101 5 AgEHDAMIAgANX3oJBnNlBA== -20170101 8 AgEHDAMIAgCJXbIMSe1qBg== -20170101 8 AgEHDAMIAgDmC6MLGbKkCQ== -20170101 7 AgEHDAMIAgDaXBIHJM/ODQ== -20170101 6 AgEHDAMIAgDytqcL4O1JBw== -20170101 1 AgEHDAMIAgA5iygH14ydDw== -20170101 5 AgEHDAMIAgC+9PgGrbfMCA== -20170101 5 AgEHDAMIAgBTYroEz+FIBA== -20170101 2 AgEHDAMIAgD8mjERJV6mCQ== -20170101 1 AgEHDAMIAgCXvygMqE7tBA== -20170101 5 AgEHDAMIAgB7iqkJe8v2Bw== -20170101 10 AgEHDAMIAgDhpXQGvSBSDg== -20170101 8 AgEHDAMIAgCKYmgWw7A4BA== -20170101 10 AgEHDAMIAgB9IzwK+a6eDw== -20170101 4 AgEHDAMIAgDCcc8FL1N2Ew== -20170101 8 AgEHDAMIAgAgqRkO6dIoBQ== -20170101 2 AgEHDAMIAgBTg9oHmrtjBA== -20170101 9 AgEHDAMIAgA3rOcHqVgzCQ== -20170101 2 AgEHDAMIAgAUx4gPY+ISCA== -20170101 8 AgEHDAMIAgDZG0oIywPsBg== -20170101 1 AgEHDAMIAgD7acMG1DsKBw== -20170101 2 AgEHDAMIAgCwEtsGuX8+BQ== -20170101 3 AgEHDAMIAgD0Pd8PzklzBQ== -20170101 8 AgEHDAMIAgAbIqkIFwV7BA== -20170101 6 AgEHDAMIAgCkb6sG1s/xBg== -20170101 3 AgEHDAMIAgDTE2cFR9azDQ== -20170101 1 AgEHDAMIAgAqOfEG8nwcBg== -20170101 4 AgEHDAMIAgD00/IL3fbbBg== -20170101 7 AgEHDAMIAgA2KrIECxROBA== -20170101 6 AgEHDAMIAgD16WYNk+yiCQ== -20170101 6 AgEHDAMIAgBxQ8gJXnq7DA== -20170101 10 AgEHDAMIAgDFsaYRga8yBA== -20170101 7 AgEHDAMIAgC4AfwSdF5pCg== -20170101 8 AgEHDAMIAgDSfIwRH3iCBw== -20170101 2 AgEHDAMIAgCIJ6AETvjiBQ== -20170101 6 AgEHDAMIAgAwRVkLPtleBg== -20170101 2 AgEHDAMIAgBwyXYHn6ugDA== -20170101 7 AgEHDAMIAgCUfqEUQPsNDg== -20170101 8 AgEHDAMIAgC/zjYUuOxvCQ== -20170101 3 AgEHDAMIAgAFiFMPBkJKCA== -20170101 1 AgEHDAMIAgAu5AsOgZ6FBw== -20170101 10 AgEHDAMIAgB532UEFy4gBg== -20170101 3 AgEHDAMIAgDKjF4FQdfXCA== -20170101 6 AgEHDAMIAgCTxHYFDF8FBQ== -20170101 5 AgEHDAMIAgARy64GgMHzCQ== -20170101 3 AgEHDAMIAgBrzP4EBn3vEQ== -20170101 9 AgEHDAMIAgCmEVEEdwL+Bw== -20170101 6 AgEHDAMIAgBUe0cPtxnPBw== -20170101 9 AgEHDAMIAgDNWtkMSizzBA== -20170101 5 AgEHDAMIAgDzofoJO729DA== -20170101 2 AgEHDAMIAgDeUy0E+fjxBA== +20170101 2 2,3,4,5,6 AgEHDAMIAgDL18IEK/L7Bg== +20170101 4 4,5,6,7,8 AgEHDAMIAgCGL/kNdYFmBw== +20170101 8 8,9,10,11,12 AgEHDAMIAgCBvF0Ge2XmCA== +20170101 8 8,9,10,11,12 AgEHDAMIAgD8LUIKwekXBQ== +20170101 6 6,7,8,9,10 AgEHDAMIAgDSFnMHNKJhDg== +20170101 5 5,6,7,8,9 AgEHDAMIAgCwW0YS9nHyBg== +20170101 10 10,11,12,13,14 AgEHDAMIAgBGSrcErjyIEQ== +20170101 3 3,4,5,6,7 AgEHDAMIAgB8dLkH21ItBA== +20170101 4 4,5,6,7,8 AgEHDAMIAgBuxTQGzvBbHw== +20170101 3 3,4,5,6,7 AgEHDAMIAgC4P/kHw91RBA== +20170101 10 10,11,12,13,14 AgEHDAMIAgDIeiQExLWfBw== +20170101 4 4,5,6,7,8 AgEHDAMIAgA2RwkHnuSbGA== +20170101 4 4,5,6,7,8 AgEHDAMIAgC4VqkM7y33Bw== +20170101 8 8,9,10,11,12 AgEHDAMIAgAiO+sFxhlqBA== +20170101 6 6,7,8,9,10 AgEHDAMIAgA1qTEEWX/UDQ== +20170101 4 4,5,6,7,8 AgEHDAMIAgCXu2AajcSJCQ== +20170101 6 6,7,8,9,10 AgEHDAMIAgCeLWoHzqDvBQ== +20170101 6 6,7,8,9,10 AgEHDAMIAgCqc4cWhGnMBQ== +20170101 10 10,11,12,13,14 AgEHDAMIAgBt5R0Hti8JBg== +20170101 4 4,5,6,7,8 AgEHDAMIAgCUB8IEMiViBQ== +20170101 8 8,9,10,11,12 AgEHDAMIAgCTVDEFAiK0BA== +20170101 10 10,11,12,13,14 AgEHDAMIAgAavNAFj8OwBg== +20170101 1 1,2,3,4,5 AgEHDAMIAgDXeDQGMENfDg== +20170101 3 3,4,5,6,7 AgEHDAMIAgCheuQJP5BIBA== +20170101 3 3,4,5,6,7 AgEHDAMIAgAsRgUGxmI0Bw== +20170101 4 4,5,6,7,8 AgEHDAMIAgDDnJofYZmnBw== +20170101 4 4,5,6,7,8 AgEHDAMIAgCFiqsL1VKVCQ== +20170101 7 7,8,9,10,11 AgEHDAMIAgDnUe4E2xeaCg== +20170101 7 7,8,9,10,11 AgEHDAMIAgCwPp0H0U97BQ== +20170101 3 3,4,5,6,7 AgEHDAMIAgCyqLgGqj5jBw== +20170101 9 9,10,11,12,13 AgEHDAMIAgBkPRYFjUmsBQ== +20170101 6 6,7,8,9,10 AgEHDAMIAgDnz5UX753zEA== +20170101 7 7,8,9,10,11 AgEHDAMIAgCj85wK1ZcUBw== +20170101 5 5,6,7,8,9 AgEHDAMIAgBkE7cG3Z96Cw== +20170101 7 7,8,9,10,11 AgEHDAMIAgD8kLYF7eg9BQ== +20170101 3 3,4,5,6,7 AgEHDAMIAgDVIhcT4DFZEA== +20170101 7 7,8,9,10,11 AgEHDAMIAgAvGhMHFUS2Bw== +20170101 9 9,10,11,12,13 AgEHDAMIAgDyeFwMqTu1Bw== +20170101 5 5,6,7,8,9 AgEHDAMIAgDe2xkLtUytDw== +20170101 7 7,8,9,10,11 AgEHDAMIAgDppI4TO2muBA== +20170101 2 2,3,4,5,6 AgEHDAMIAgCdCmwPh7aqBA== +20170101 6 6,7,8,9,10 AgEHDAMIAgBqQDsN4K6sCA== +20170101 10 10,11,12,13,14 AgEHDAMIAgCUwyEEmog3Bw== +20170101 6 6,7,8,9,10 AgEHDAMIAgAgZuMSvhmBBQ== +20170101 6 6,7,8,9,10 AgEHDAMIAgCkeLMHu8kBBQ== +20170101 8 8,9,10,11,12 AgEHDAMIAgDUi4wEmUlCBA== +20170101 4 4,5,6,7,8 AgEHDAMIAgBl34oQH7oiCA== +20170101 4 4,5,6,7,8 AgEHDAMIAgBvy0oHqRolBw== +20170101 9 9,10,11,12,13 AgEHDAMIAgDfVngR3FoBBg== +20170101 1 1,2,3,4,5 AgEHDAMIAgANX3oJBnNlBA== +20170101 1 1,2,3,4,5 AgEHDAMIAgCJXbIMSe1qBg== +20170101 6 6,7,8,9,10 AgEHDAMIAgDmC6MLGbKkCQ== +20170101 6 6,7,8,9,10 AgEHDAMIAgDaXBIHJM/ODQ== +20170101 2 2,3,4,5,6 AgEHDAMIAgDytqcL4O1JBw== +20170101 5 5,6,7,8,9 AgEHDAMIAgA5iygH14ydDw== +20170101 5 5,6,7,8,9 AgEHDAMIAgC+9PgGrbfMCA== +20170101 3 3,4,5,6,7 AgEHDAMIAgBTYroEz+FIBA== +20170101 3 3,4,5,6,7 AgEHDAMIAgD8mjERJV6mCQ== +20170101 1 1,2,3,4,5 AgEHDAMIAgCXvygMqE7tBA== +20170101 6 6,7,8,9,10 AgEHDAMIAgB7iqkJe8v2Bw== +20170101 5 5,6,7,8,9 AgEHDAMIAgDhpXQGvSBSDg== +20170101 10 10,11,12,13,14 AgEHDAMIAgCKYmgWw7A4BA== +20170101 4 4,5,6,7,8 AgEHDAMIAgB9IzwK+a6eDw== +20170101 4 4,5,6,7,8 AgEHDAMIAgDCcc8FL1N2Ew== +20170101 8 8,9,10,11,12 AgEHDAMIAgAgqRkO6dIoBQ== +20170101 6 6,7,8,9,10 AgEHDAMIAgBTg9oHmrtjBA== +20170101 7 7,8,9,10,11 AgEHDAMIAgA3rOcHqVgzCQ== +20170101 7 7,8,9,10,11 AgEHDAMIAgAUx4gPY+ISCA== +20170101 8 8,9,10,11,12 AgEHDAMIAgDZG0oIywPsBg== +20170101 7 7,8,9,10,11 AgEHDAMIAgD7acMG1DsKBw== +20170101 4 4,5,6,7,8 AgEHDAMIAgCwEtsGuX8+BQ== +20170101 7 7,8,9,10,11 AgEHDAMIAgD0Pd8PzklzBQ== +20170101 3 3,4,5,6,7 AgEHDAMIAgAbIqkIFwV7BA== +20170101 7 7,8,9,10,11 AgEHDAMIAgCkb6sG1s/xBg== +20170101 5 5,6,7,8,9 AgEHDAMIAgDTE2cFR9azDQ== +20170101 9 9,10,11,12,13 AgEHDAMIAgAqOfEG8nwcBg== +20170101 1 1,2,3,4,5 AgEHDAMIAgD00/IL3fbbBg== +20170101 8 8,9,10,11,12 AgEHDAMIAgA2KrIECxROBA== +20170101 4 4,5,6,7,8 AgEHDAMIAgD16WYNk+yiCQ== +20170101 2 2,3,4,5,6 AgEHDAMIAgBxQ8gJXnq7DA== +20170101 3 3,4,5,6,7 AgEHDAMIAgDFsaYRga8yBA== +20170101 5 5,6,7,8,9 AgEHDAMIAgC4AfwSdF5pCg== +20170101 1 1,2,3,4,5 AgEHDAMIAgDSfIwRH3iCBw== +20170101 6 6,7,8,9,10 AgEHDAMIAgCIJ6AETvjiBQ== +20170101 5 5,6,7,8,9 AgEHDAMIAgAwRVkLPtleBg== +20170101 5 5,6,7,8,9 AgEHDAMIAgBwyXYHn6ugDA== +20170101 5 5,6,7,8,9 AgEHDAMIAgCUfqEUQPsNDg== +20170101 9 9,10,11,12,13 AgEHDAMIAgC/zjYUuOxvCQ== +20170101 5 5,6,7,8,9 AgEHDAMIAgAFiFMPBkJKCA== +20170101 7 7,8,9,10,11 AgEHDAMIAgAu5AsOgZ6FBw== +20170101 9 9,10,11,12,13 AgEHDAMIAgB532UEFy4gBg== +20170101 9 9,10,11,12,13 AgEHDAMIAgDKjF4FQdfXCA== +20170101 2 2,3,4,5,6 AgEHDAMIAgCTxHYFDF8FBQ== +20170101 5 5,6,7,8,9 AgEHDAMIAgARy64GgMHzCQ== +20170101 10 10,11,12,13,14 AgEHDAMIAgBrzP4EBn3vEQ== +20170101 5 5,6,7,8,9 AgEHDAMIAgCmEVEEdwL+Bw== +20170101 2 2,3,4,5,6 AgEHDAMIAgBUe0cPtxnPBw== +20170101 8 8,9,10,11,12 AgEHDAMIAgDNWtkMSizzBA== +20170101 4 4,5,6,7,8 AgEHDAMIAgDzofoJO729DA== +20170101 4 4,5,6,7,8 AgEHDAMIAgDeUy0E+fjxBA== --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@druid.apache.org For additional commands, e-mail: commits-h...@druid.apache.org