public void setSegments(Segments segments) { this.segments = new Segments<>(segments); }
public Segments<T> getSegments(SegmentStatusEnum status) { Segments<T> result = new Segments<>(); for (T segment : this) { if (segment.getStatus() == status) { result.add(segment); } } return result; }
private Segments<T> getSubList(int from, int to) { Segments<T> result = new Segments<>(); for (T seg : this.subList(from, to)) { result.add(seg); } return result; }
public Segments<T> getBuildingSegments() { Segments<T> buildingSegments = new Segments(); if (null != this) { for (T segment : this) { if (SegmentStatusEnum.NEW == segment.getStatus() || SegmentStatusEnum.READY_PENDING == segment.getStatus()) { buildingSegments.add(segment); } } } return buildingSegments; }
public void removeLatestSegmentByVolatileRange(Segments<T> segs, long volatileRange) { if(volatileRange <= 0) { return; } long latestSegEndTs = Long.MIN_VALUE; for(T seg: segs) { latestSegEndTs = Math.max(latestSegEndTs, seg.getTSRange().end.v); } Segments volatileSegs = new Segments(); for(T seg: segs) { if(seg.getTSRange().end.v + volatileRange > latestSegEndTs) { logger.warn("segment in volatile range: seg:" + seg.toString() + "rangeStart:" + seg.getTSRange().start.v + ", rangeEnd" + seg.getTSRange().end.v); volatileSegs.add(seg); } } segs.removeAll(volatileSegs); }
public static CubeInstance generateKylinCubeInstance(String owner, String tableName) { CubeInstance cubeInstance = new CubeInstance(); cubeInstance.setName(tableName.replace('.', '_')); cubeInstance.setSegments(new Segments<CubeSegment>()); cubeInstance.setDescName(tableName.replace('.', '_')); cubeInstance.setStatus(RealizationStatusEnum.DISABLED); cubeInstance.setOwner(owner); cubeInstance.setCreateTimeUTC(0L); cubeInstance.updateRandomUuid(); return cubeInstance; } }
public Segments<T> getMergingSegments(T mergedSegment) { Segments<T> result = new Segments(); if (mergedSegment == null) return result; for (T seg : this) { if (seg.getStatus() != SegmentStatusEnum.READY && seg.getStatus() != SegmentStatusEnum.READY_PENDING) continue; if (seg == mergedSegment) continue; if (mergedSegment.getSegRange().contains(seg.getSegRange())) { result.add(seg); } } return result; }
public static CubeInstance create(String cubeName, CubeDesc cubeDesc) { CubeInstance cubeInstance = new CubeInstance(); cubeInstance.setConfig((KylinConfigExt) cubeDesc.getConfig()); cubeInstance.setName(cubeName); cubeInstance.setDisplayName(cubeName); cubeInstance.setDescName(cubeDesc.getName()); cubeInstance.setCreateTimeUTC(System.currentTimeMillis()); cubeInstance.setSegments(new Segments<CubeSegment>()); cubeInstance.setStatus(RealizationStatusEnum.DISABLED); cubeInstance.updateRandomUuid(); return cubeInstance; }
Segments<T> all = new Segments<T>(this); Collections.sort(all);
cubeInstance.setSegments(new Segments<CubeSegment>()); cubeInstance.setStatus(RealizationStatusEnum.DISABLED); store.checkAndPutResource(cubeInstance.getResourcePath(), cubeInstance, CubeManager.CUBE_SERIALIZER);
cubeInstance.setSegments(new Segments()); cubeInstance.setStatus(RealizationStatusEnum.DISABLED); store.checkAndPutResource(cubeInstance.getResourcePath(), cubeInstance, CubeManager.CUBE_SERIALIZER);
public Pair<T, T> findMergeOffsetsByDateRange(TSRange tsRange, long skipSegDateRangeCap) { // must be offset cube Segments result = new Segments(); for (ISegment seg : this) { // include if date range overlaps if (tsRange.overlaps(seg.getTSRange())) { // reject too big segment if (seg.getTSRange().duration() > skipSegDateRangeCap) break; // reject holes if (result.size() > 0 && !result.getLast().getSegRange().connects(seg.getSegRange())) break; result.add(seg); } } if (result.size() <= 1) return null; else return (Pair<T, T>) Pair.newPair(result.getFirst(), result.getLast()); }
Segments mergingSegs = new Segments(); if (buildingSize > 0) {
public void setSegments(Segments segments) { this.segments = new Segments<>(segments); }
private Segments<T> getSubList(int from, int to) { Segments<T> result = new Segments<>(); for (T seg : this.subList(from, to)) { result.add(seg); } return result; }
public Segments<T> getSegments(SegmentStatusEnum status) { Segments<T> result = new Segments<>(); for (T segment : this) { if (segment.getStatus() == status) { result.add(segment); } } return result; }
public Segments<T> getBuildingSegments() { Segments<T> buildingSegments = new Segments(); if (null != this) { for (T segment : this) { if (SegmentStatusEnum.NEW == segment.getStatus() || SegmentStatusEnum.READY_PENDING == segment.getStatus()) { buildingSegments.add(segment); } } } return buildingSegments; }
public static CubeInstance generateKylinCubeInstance(String owner, String tableName) { CubeInstance cubeInstance = new CubeInstance(); cubeInstance.setName(tableName.replace('.', '_')); cubeInstance.setSegments(new Segments<CubeSegment>()); cubeInstance.setDescName(tableName.replace('.', '_')); cubeInstance.setStatus(RealizationStatusEnum.DISABLED); cubeInstance.setOwner(owner); cubeInstance.setCreateTimeUTC(0L); cubeInstance.updateRandomUuid(); return cubeInstance; } }
public Segments<T> getMergingSegments(T mergedSegment) { Segments<T> result = new Segments(); if (mergedSegment == null) return result; for (T seg : this) { if (seg.getStatus() != SegmentStatusEnum.READY && seg.getStatus() != SegmentStatusEnum.READY_PENDING) continue; if (seg == mergedSegment) continue; if (mergedSegment.getSegRange().contains(seg.getSegRange())) { result.add(seg); } } return result; }
public static CubeInstance create(String cubeName, CubeDesc cubeDesc) { CubeInstance cubeInstance = new CubeInstance(); cubeInstance.setConfig((KylinConfigExt) cubeDesc.getConfig()); cubeInstance.setName(cubeName); cubeInstance.setDisplayName(cubeName); cubeInstance.setDescName(cubeDesc.getName()); cubeInstance.setCreateTimeUTC(System.currentTimeMillis()); cubeInstance.setSegments(new Segments<CubeSegment>()); cubeInstance.setStatus(RealizationStatusEnum.DISABLED); cubeInstance.updateRandomUuid(); return cubeInstance; }