private void writeFileStatistics(OrcProto.Footer.Builder builder, TreeWriter writer) throws IOException { builder.addStatistics(writer.fileStatistics.serialize()); for (TreeWriter child : writer.getChildrenWriters()) { writeFileStatistics(builder, child); } }
private void writeStripeStatistics(OrcProto.StripeStatistics.Builder builder, TreeWriter treeWriter) { treeWriter.fileStatistics.merge(treeWriter.stripeColStatistics); builder.addColStats(treeWriter.stripeColStatistics.serialize().build()); treeWriter.stripeColStatistics.reset(); for (TreeWriter child : treeWriter.getChildrenWriters()) { writeStripeStatistics(builder, child); } }
/** * Create a row index entry with the previous location and the current * index statistics. Also merges the index statistics into the file * statistics before they are cleared. Finally, it records the start of the * next index and ensures all of the children columns also create an entry. * * @throws IOException if an error occurs during create */ void createRowIndexEntry() throws IOException { stripeColStatistics.merge(indexStatistics); rowIndexEntry.setStatistics(indexStatistics.serialize()); indexStatistics.reset(); rowIndex.addEntry(rowIndexEntry); rowIndexEntry.clear(); addBloomFilterEntry(); recordPosition(rowIndexPosition); for (TreeWriter child : childrenWriters) { child.createRowIndexEntry(); } }
getStripeStatistics().merge(indexStatistics); OrcProto.RowIndexEntry.Builder rowIndexEntry = getRowIndexEntry(); rowIndexEntry.setStatistics(indexStatistics.serialize()); indexStatistics.reset(); OrcProto.RowIndexEntry base = rowIndexEntry.build();
private void writeFileStatistics(OrcProto.Footer.Builder builder, TreeWriter writer) throws IOException { builder.addStatistics(writer.fileStatistics.serialize()); for(TreeWriter child: writer.getChildrenWriters()) { writeFileStatistics(builder, child); } }
@Override OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder builder = super.serialize(); OrcProto.BucketStatistics.Builder bucket = OrcProto.BucketStatistics.newBuilder(); bucket.addCount(trueCount); builder.setBucketStatistics(bucket); return builder; }
@Override OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder result = super.serialize(); OrcProto.BinaryStatistics.Builder bin = OrcProto.BinaryStatistics.newBuilder(); bin.setSum(sum); result.setBinaryStatistics(bin); return result; }
private void writeFileStatistics(OrcProto.Footer.Builder builder, TreeWriter writer) throws IOException { builder.addStatistics(writer.fileStatistics.serialize()); for (TreeWriter child : writer.getChildrenWriters()) { writeFileStatistics(builder, child); } }
@Override OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder result = super.serialize(); OrcProto.TimestampStatistics.Builder timestampStats = OrcProto.TimestampStatistics .newBuilder(); if (getNumberOfValues() != 0 && minimum != null) { timestampStats.setMinimum(minimum); timestampStats.setMaximum(maximum); } result.setTimestampStatistics(timestampStats); return result; }
@Override OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder result = super.serialize(); OrcProto.DateStatistics.Builder dateStats = OrcProto.DateStatistics.newBuilder(); if (getNumberOfValues() != 0 && minimum != null) { dateStats.setMinimum(minimum); dateStats.setMaximum(maximum); } result.setDateStatistics(dateStats); return result; }
@Override OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder builder = super.serialize(); OrcProto.DoubleStatistics.Builder dbl = OrcProto.DoubleStatistics.newBuilder(); if (hasMinimum) { dbl.setMinimum(minimum); dbl.setMaximum(maximum); } dbl.setSum(sum); builder.setDoubleStatistics(dbl); return builder; }
@Override OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder builder = super.serialize(); OrcProto.IntegerStatistics.Builder intb = OrcProto.IntegerStatistics.newBuilder(); if (hasMinimum) { intb.setMinimum(minimum); intb.setMaximum(maximum); } if (!overflow) { intb.setSum(sum); } builder.setIntStatistics(intb); return builder; }
private void writeStripeStatistics(OrcProto.StripeStatistics.Builder builder, TreeWriter treeWriter) { treeWriter.fileStatistics.merge(treeWriter.stripeColStatistics); builder.addColStats(treeWriter.stripeColStatistics.serialize().build()); treeWriter.stripeColStatistics.reset(); for (TreeWriter child : treeWriter.getChildrenWriters()) { writeStripeStatistics(builder, child); } }
private void writeStripeStatistics(OrcProto.StripeStatistics.Builder builder, TreeWriter treeWriter) { treeWriter.fileStatistics.merge(treeWriter.stripeColStatistics); builder.addColStats(treeWriter.stripeColStatistics.serialize().build()); treeWriter.stripeColStatistics.reset(); for (TreeWriter child : treeWriter.getChildrenWriters()) { writeStripeStatistics(builder, child); } }
@Override OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder result = super.serialize(); OrcProto.StringStatistics.Builder str = OrcProto.StringStatistics.newBuilder(); if (getNumberOfValues() != 0) { str.setMinimum(getMinimum()); str.setMaximum(getMaximum()); str.setSum(sum); } result.setStringStatistics(str); return result; }
/** * Create a row index entry with the previous location and the current * index statistics. Also merges the index statistics into the file * statistics before they are cleared. Finally, it records the start of the * next index and ensures all of the children columns also create an entry. * @throws IOException */ void createRowIndexEntry() throws IOException { stripeColStatistics.merge(indexStatistics); rowIndexEntry.setStatistics(indexStatistics.serialize()); indexStatistics.reset(); rowIndex.addEntry(rowIndexEntry); rowIndexEntry.clear(); addBloomFilterEntry(); recordPosition(rowIndexPosition); for(TreeWriter child: childrenWriters) { child.createRowIndexEntry(); } }
@Override OrcProto.ColumnStatistics.Builder serialize() { OrcProto.ColumnStatistics.Builder result = super.serialize(); OrcProto.DecimalStatistics.Builder dec = OrcProto.DecimalStatistics.newBuilder(); if (getNumberOfValues() != 0 && minimum != null) { dec.setMinimum(minimum.toString()); dec.setMaximum(maximum.toString()); } if (sum != null) { dec.setSum(sum.toString()); } result.setDecimalStatistics(dec); return result; }
/** * Create a row index entry with the previous location and the current * index statistics. Also merges the index statistics into the file * statistics before they are cleared. Finally, it records the start of the * next index and ensures all of the children columns also create an entry. * * @throws IOException if an error occurs during create */ void createRowIndexEntry() throws IOException { stripeColStatistics.merge(indexStatistics); rowIndexEntry.setStatistics(indexStatistics.serialize()); indexStatistics.reset(); rowIndex.addEntry(rowIndexEntry); rowIndexEntry.clear(); addBloomFilterEntry(); recordPosition(rowIndexPosition); for (TreeWriter child : childrenWriters) { child.createRowIndexEntry(); } }
getStripeStatistics().merge(indexStatistics); OrcProto.RowIndexEntry.Builder rowIndexEntry = getRowIndexEntry(); rowIndexEntry.setStatistics(indexStatistics.serialize()); indexStatistics.reset(); OrcProto.RowIndexEntry base = rowIndexEntry.build();
getStripeStatistics().merge(indexStatistics); OrcProto.RowIndexEntry.Builder rowIndexEntry = getRowIndexEntry(); rowIndexEntry.setStatistics(indexStatistics.serialize()); indexStatistics.reset(); OrcProto.RowIndexEntry base = rowIndexEntry.build();