@Override public Map<String, String> getCommittedIndexFile(Segment segment) throws IOException { Map<String, String> indexFileStore = new HashMap<>(); Map<String, List<String>> snapShot = readCommittedIndexFileSnapShot.getSegmentIndexFileMap(); String segName; if (segment.getSegmentNo() != null) { segName = segment.getSegmentNo(); } else { segName = segment.getSegmentFileName(); } List<String> index = snapShot.get(segName); if (null == index) { index = new LinkedList<>(); } for (String indexPath : index) { if (indexPath.endsWith(CarbonTablePath.MERGE_INDEX_FILE_EXT)) { indexFileStore.put(indexPath, indexPath.substring(indexPath.lastIndexOf('/') + 1)); } else { indexFileStore.put(indexPath, null); } } return indexFileStore; }
public static HashMap<String, Long> getDataSizeAndIndexSize(String tablePath, Segment segment) throws IOException { if (segment.getSegmentFileName() != null) { SegmentFileStore fileStore = new SegmentFileStore(tablePath, segment.getSegmentFileName()); return getDataSizeAndIndexSize(fileStore); } else { return getDataSizeAndIndexSize(tablePath, segment.getSegmentNo()); } }
if (index > -1) { if (segmentToAccessSet.get(index).getSegmentFileName() != null && validSegment.getSegmentFileName() == null) { filteredSegmentToAccess.add(segmentToAccessSet.get(index)); } else {
@Override public SegmentRefreshInfo getCommittedSegmentRefreshInfo(Segment segment, UpdateVO updateVo) throws IOException { Map<String, SegmentRefreshInfo> snapShot = readCommittedIndexFileSnapShot.getSegmentTimestampUpdaterMap(); String segName; if (segment.getSegmentNo() != null) { segName = segment.getSegmentNo(); } else { segName = segment.getSegmentFileName(); } SegmentRefreshInfo segmentRefreshInfo = snapShot.get(segName); return segmentRefreshInfo; }
@Override public Map<String, String> getCommittedIndexFile(Segment segment) throws IOException { Map<String, String> indexFiles; if (segment.getSegmentFileName() == null) { String path = CarbonTablePath.getSegmentPath(identifier.getTablePath(), segment.getSegmentNo()); indexFiles = new SegmentIndexFileStore().getMergeOrIndexFilesFromSegment(path); } else { SegmentFileStore fileStore = new SegmentFileStore(identifier.getTablePath(), segment.getSegmentFileName()); indexFiles = fileStore.getIndexOrMergeFiles(); } return indexFiles; }
long max = 0; List<String> dataFiles = new ArrayList<>(); if (segment.getSegmentFileName() != null) { SegmentFileStore fileStore = new SegmentFileStore(tablePath, segment.getSegmentFileName()); fileStore.readIndexFiles(FileFactory.getConfiguration()); Map<String, List<String>> indexFilesMap = fileStore.getIndexFilesMap();
CarbonFile[] indexFiles; SegmentFileStore sfs = null; if (segment != null && segment.getSegmentFileName() != null) { sfs = new SegmentFileStore(tablePath, segment.getSegmentFileName()); List<CarbonFile> indexCarbonFiles = sfs.getIndexCarbonFiles(); indexFiles = indexCarbonFiles.toArray(new CarbonFile[indexCarbonFiles.size()]);
Segment segment = Segment.getSegment(targetSegment, carbonTable.getTablePath()); segmentList.add( new Segment(segment.getSegmentNo(), segment.getSegmentFileName(), readCommittedScope)); setSegmentsToAccess(job.getConfiguration(), segmentList);
String uniqueId, List<String> toBeDeletedSegments, List<String> toBeUpdatedSegments) throws IOException { readSegment(tablePath, segment.getSegmentFileName()); boolean updateSegment = false; for (Map.Entry<String, FolderDetails> entry : segmentFile.getLocationMap().entrySet()) {
List<PartitionSpec> partitionSpecs, SegmentUpdateStatusManager updateStatusManager) throws Exception { SegmentFileStore fileStore = new SegmentFileStore(tablePath, segment.getSegmentFileName()); List<String> indexOrMergeFiles = fileStore.readIndexFiles(SegmentStatus.SUCCESS, true, FileFactory.getConfiguration()); CarbonTablePath.getSegmentFilePath(tablePath, segment.getSegmentFileName());
if (segmentFileIndex > -1) { loadDetail.setSegmentFile( segmentFilesToBeUpdated.get(segmentFileIndex).getSegmentFileName());
new SegmentFileStore(table.getTablePath(), segment.getSegmentFileName()) .dropPartitions(segment, partitionSpecs, uniqueId, tobeDeletedSegs, tobeUpdatedSegs);