/** * Gets the latest slice - this can contain either * <p> * - just the log files without data file - (or) data file with 0 or more log files */ public Optional<FileSlice> getLatestFileSlice() { // there should always be one return getAllFileSlices().findFirst(); }
public Optional<FileSlice> getLatestFileSliceInRange(List<String> commitRange) { return getAllFileSlices() .filter(slice -> commitRange.contains(slice.getBaseInstantTime())) .findFirst(); }
/** * Stream of committed data files, sorted reverse commit time */ public Stream<HoodieDataFile> getAllDataFiles() { return getAllFileSlices() .filter(slice -> slice.getDataFile().isPresent()) .map(slice -> slice.getDataFile().get()); }
/** * Obtain the latest file slice, upto a commitTime i.e <= maxCommitTime */ public Optional<FileSlice> getLatestFileSliceBeforeOrOn(String maxCommitTime) { return getAllFileSlices() .filter(slice -> HoodieTimeline.compareTimestamps(slice.getBaseInstantTime(), maxCommitTime, HoodieTimeline.LESSER_OR_EQUAL)) .findFirst(); }
/** * Obtain the latest file slice, upto a commitTime i.e < maxInstantTime * @param maxInstantTime Max Instant Time * @return */ public Optional<FileSlice> getLatestFileSliceBefore(String maxInstantTime) { return getAllFileSlices() .filter(slice -> HoodieTimeline.compareTimestamps(slice.getBaseInstantTime(), maxInstantTime, HoodieTimeline.LESSER)) .findFirst(); }
Iterator<FileSlice> fileSliceIterator = fileGroup.getAllFileSlices().iterator(); while (fileSliceIterator.hasNext() && keepVersions > 0) {
Iterator<FileSlice> fileSliceIterator = fileGroup.getAllFileSlices().iterator(); while (fileSliceIterator.hasNext() && keepVersions > 0) {
.collect(Collectors.toList()); for (HoodieFileGroup fileGroup : fileGroups) { List<FileSlice> fileSliceList = fileGroup.getAllFileSlices().collect(Collectors.toList());
.collect(Collectors.toList()); for (HoodieFileGroup fileGroup : fileGroups) { List<FileSlice> fileSliceList = fileGroup.getAllFileSlices().collect(Collectors.toList());
includeInflight, excludeCompaction); List<Comparable[]> rows = new ArrayList<>(); fsView.getAllFileGroups().forEach(fg -> fg.getAllFileSlices().forEach(fs -> { int idx = 0;
assertEquals(3, fileGroups.size()); for (HoodieFileGroup fileGroup : fileGroups) { List<FileSlice> slices = fileGroup.getAllFileSlices().collect(Collectors.toList()); if (fileGroup.getId().equals(fileId1)) { assertEquals(2, slices.size());
newFsView.getAllFileGroups(HoodieTestUtils.DEFAULT_PARTITION_PATHS[0]).flatMap(fg -> fg.getAllFileSlices()) .filter(fs -> fs.getBaseInstantTime().equals(ingestionInstant)) .map(fs -> Pair.of(fs.getFileId(), fs.getLogFiles().count()))
newFsView.getAllFileGroups(HoodieTestUtils.DEFAULT_PARTITION_PATHS[0]).flatMap(fg -> fg.getAllFileSlices()) .filter(fs -> fs.getBaseInstantTime().equals(ingestionInstant)) .filter(fs -> fs.getFileId().equals(op.getFileId()))