stats[7].toString()); assertEquals("bye", ((StringColumnStatistics) stats[9]).getMinimum()); assertEquals("hi", ((StringColumnStatistics) stats[9]).getMaximum()); assertEquals(0, ((StringColumnStatistics) stats[9]).getSum()); assertEquals("count: 7500 hasNull: true min: bye max: hi sum: 0", stats[9].toString());
assertEquals(maxInt, ((IntegerColumnStatistics) s).getMaximum()); } else if (s instanceof StringColumnStatistics) { assertEquals(maxStr, ((StringColumnStatistics) s).getMaximum()); assertEquals(minStr, ((StringColumnStatistics) s).getMinimum());
@Override public long getRawDataSize() { // ORC strings are converted to java Strings. so use JavaDataModel to // compute the overall size of strings StringColumnStatistics scs = (StringColumnStatistics) fileStatistics; long numVals = fileStatistics.getNumberOfValues(); if (numVals == 0) { return 0; } else { int avgSize = (int) (scs.getSum() / numVals); return numVals * JavaDataModel.get().lengthForStringOfLength(avgSize); } }
return ((DoubleColumnStatistics) index).getMinimum(); } else if (index instanceof StringColumnStatistics) { return ((StringColumnStatistics) index).getMinimum(); } else if (index instanceof DateColumnStatistics) { return ((DateColumnStatistics) index).getMinimum();
return ((DoubleColumnStatistics) index).getMaximum(); } else if (index instanceof StringColumnStatistics) { return ((StringColumnStatistics) index).getMaximum(); } else if (index instanceof DateColumnStatistics) { return ((DateColumnStatistics) index).getMaximum();
int avgStringLen = (int) (scs.getSum() / numVals); return numVals * JavaDataModel.get().lengthForStringOfLength(avgStringLen); case DECIMAL:
assertEquals("count: 2 hasNull: false bytesOnDisk: 14 sum: 5", stats[8].toString()); assertEquals("bye", ((StringColumnStatistics) stats[9]).getMinimum()); assertEquals("hi", ((StringColumnStatistics) stats[9]).getMaximum()); assertEquals(5, ((StringColumnStatistics) stats[9]).getSum()); assertEquals("count: 2 hasNull: false bytesOnDisk: 20 min: bye max: hi sum: 5", stats[9].toString());
int avgStringLen = (int) (scs.getSum() / numVals); return numVals * JavaDataModel.get().lengthForStringOfLength(avgStringLen); case DECIMAL:
assertEquals(5000, (ss2.getColumnStatistics()[2]).getNumberOfValues()); assertEquals(1000, (ss3.getColumnStatistics()[2]).getNumberOfValues()); assertEquals("one", ((StringColumnStatistics)ss1.getColumnStatistics()[2]).getMinimum()); assertEquals("two", ((StringColumnStatistics)ss2.getColumnStatistics()[2]).getMinimum()); assertEquals("three", ((StringColumnStatistics)ss3.getColumnStatistics()[2]).getMinimum()); assertEquals("one", ((StringColumnStatistics)ss1.getColumnStatistics()[2]).getMaximum()); assertEquals("two", ((StringColumnStatistics) ss2.getColumnStatistics()[2]).getMaximum()); assertEquals("three", ((StringColumnStatistics)ss3.getColumnStatistics()[2]).getMaximum()); assertEquals(15000, ((StringColumnStatistics)ss1.getColumnStatistics()[2]).getSum()); assertEquals(15000, ((StringColumnStatistics)ss2.getColumnStatistics()[2]).getSum()); assertEquals(5000, ((StringColumnStatistics)ss3.getColumnStatistics()[2]).getSum());
assertEquals("bar", ((StringColumnStatistics) stats[2]).getMinimum()); assertEquals("hi", ((StringColumnStatistics) stats[2]).getMaximum()); assertEquals(8, ((StringColumnStatistics) stats[2]).getSum()); assertEquals("count: 3 hasNull: true bytesOnDisk: 22 min: bar max: hi sum: 8", stats[2].toString());
assertEquals("bar", ((StringColumnStatistics) stats[2]).getMinimum()); assertEquals("hi", ((StringColumnStatistics) stats[2]).getMaximum()); assertEquals(8, ((StringColumnStatistics) stats[2]).getSum()); assertEquals("count: 3 hasNull: true bytesOnDisk: 22 min: bar max: hi sum: 8", stats[2].toString());