public static long getSizeOfSegment(String tablePath, Segment segment) throws IOException { HashMap<String, Long> dataSizeAndIndexSize = getDataSizeAndIndexSize(tablePath, segment); long size = 0; for (Long eachSize: dataSizeAndIndexSize.values()) { size += eachSize; } return size; }
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()); } }
public static Long addDataIndexSizeIntoMetaEntry(LoadMetadataDetails loadMetadataDetails, String segmentId, CarbonTable carbonTable) throws IOException { Map<String, Long> dataIndexSize = CarbonUtil.getDataSizeAndIndexSize( carbonTable.getTablePath(), new Segment(segmentId, loadMetadataDetails.getSegmentFile())); Long dataSize = dataIndexSize.get(CarbonCommonConstants.CARBON_TOTAL_DATA_SIZE); loadMetadataDetails.setDataSize(String.valueOf(dataSize)); Long indexSize = dataIndexSize.get(CarbonCommonConstants.CARBON_TOTAL_INDEX_SIZE); loadMetadataDetails.setIndexSize(String.valueOf(indexSize)); return dataSize + indexSize; }
needUpdate = true; LOGGER.debug("It is an old segment, need calculate data size and index size again"); HashMap<String, Long> map = CarbonUtil.getDataSizeAndIndexSize( identifier.getTablePath(), loadMetadataDetail.getLoadName()); dsize = String.valueOf(map.get(CarbonCommonConstants.CARBON_TOTAL_DATA_SIZE));