@Override public Iterator<T> iterator() { FileIterator<T> iter = new FileIterator<>(init()); addCloseable(iter); return iter; }
@Override public int currentRepetitionLevel() { advance(); return pageIterator.currentRepetitionLevel(); }
@Override public final T read(T reuse) { I intermediate = newStructData(reuse); for (int i = 0; i < readers.length; i += 1) { set(intermediate, i, readers[i].read(get(intermediate, i))); //setters[i].set(intermediate, i, get(intermediate, i)); } return buildStruct(intermediate); }
@Override public long readLong() { return 1000 * column.nextLong(); } }
@Override public T read(T reuse) { if (column.currentDefinitionLevel() > definitionLevel) { return reader.read(reuse); } for (TripleIterator<?> column : children) { column.nextNull(); } return null; }
@SuppressWarnings("unchecked") public static <T> ParquetValueWriter<T> buildWriter(MessageType type) { return (ParquetValueWriter<T>) ParquetTypeVisitor.visit(type, new WriteBuilder(type)); }
@Override public Binary nextBinary() { this.triplesRead += 1; advance(); return pageIterator.nextBinary(); }
@Override public int currentDefinitionLevel() { advance(); return pageIterator.currentDefinitionLevel(); }
@Override public int nextInteger() { this.triplesRead += 1; advance(); return pageIterator.nextInteger(); }
@Override public boolean nextBoolean() { this.triplesRead += 1; advance(); return pageIterator.nextBoolean(); }
@Override public double nextDouble() { this.triplesRead += 1; advance(); return pageIterator.nextDouble(); }
@Override public Boolean next() { return nextBoolean(); } };
/** * Test whether the dictionaries for a row group may contain records that match the expression. * * @param fileSchema schema for the Parquet file * @param dictionaries a dictionary page read store * @return false if the file cannot contain rows that match the expression, true otherwise. */ public boolean shouldRead(MessageType fileSchema, BlockMetaData rowGroup, DictionaryPageReadStore dictionaries) { return visitor().eval(fileSchema, rowGroup, dictionaries); }