Java Code Examples for org.apache.kylin.cube.cuboid.Cuboid#getColumns()
The following examples show how to use
org.apache.kylin.cube.cuboid.Cuboid#getColumns() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: CubeStatsReader.java From kylin-on-parquet-v2 with Apache License 2.0 | 6 votes |
private static Map<Long, Double> getCuboidSizeMapFromRowCount(CubeSegment cubeSegment, Map<Long, Long> rowCountMap, long sourceRowCount, boolean origin) { final CubeDesc cubeDesc = cubeSegment.getCubeDesc(); final List<Integer> rowkeyColumnSize = Lists.newArrayList(); final Cuboid baseCuboid = Cuboid.getBaseCuboid(cubeDesc); final List<TblColRef> columnList = baseCuboid.getColumns(); final CubeDimEncMap dimEncMap = cubeSegment.getDimensionEncodingMap(); final Long baseCuboidRowCount = rowCountMap.get(baseCuboid.getId()); for (int i = 0; i < columnList.size(); i++) { rowkeyColumnSize.add(dimEncMap.get(columnList.get(i)).getLengthOfEncoding()); } Map<Long, Double> sizeMap = Maps.newHashMap(); for (Map.Entry<Long, Long> entry : rowCountMap.entrySet()) { sizeMap.put(entry.getKey(), estimateCuboidStorageSize(cubeSegment, entry.getKey(), entry.getValue(), baseCuboid.getId(), baseCuboidRowCount, rowkeyColumnSize, sourceRowCount)); } if (origin == false && cubeSegment.getConfig().enableJobCuboidSizeOptimize()) { optimizeSizeMap(sizeMap, cubeSegment); } return sizeMap; }
Example 2
Source File: RowKeyEncoder.java From kylin-on-parquet-v2 with Apache License 2.0 | 6 votes |
public RowKeyEncoder(CubeSegment cubeSeg, Cuboid cuboid) { super(cubeSeg, cuboid); enableSharding = cubeSeg.isEnableSharding(); headerLength = cubeSeg.getRowKeyPreambleSize(); Set<TblColRef> shardByColumns = cubeSeg.getCubeDesc().getShardByColumns(); if (shardByColumns.size() > 1) { throw new IllegalStateException("Does not support multiple UHC now"); } colIO = new RowKeyColumnIO(cubeSeg.getDimensionEncodingMap()); for (TblColRef column : cuboid.getColumns()) { if (shardByColumns.contains(column)) { uhcOffset = bodyLength; uhcLength = colIO.getColumnLength(column); } bodyLength += colIO.getColumnLength(column); } }
Example 3
Source File: CubeStatsReader.java From kylin with Apache License 2.0 | 6 votes |
private static Map<Long, Double> getCuboidSizeMapFromRowCount(CubeSegment cubeSegment, Map<Long, Long> rowCountMap, long sourceRowCount, boolean origin) { final CubeDesc cubeDesc = cubeSegment.getCubeDesc(); final List<Integer> rowkeyColumnSize = Lists.newArrayList(); final Cuboid baseCuboid = Cuboid.getBaseCuboid(cubeDesc); final List<TblColRef> columnList = baseCuboid.getColumns(); final CubeDimEncMap dimEncMap = cubeSegment.getDimensionEncodingMap(); final Long baseCuboidRowCount = rowCountMap.get(baseCuboid.getId()); for (int i = 0; i < columnList.size(); i++) { rowkeyColumnSize.add(dimEncMap.get(columnList.get(i)).getLengthOfEncoding()); } Map<Long, Double> sizeMap = Maps.newHashMap(); for (Map.Entry<Long, Long> entry : rowCountMap.entrySet()) { sizeMap.put(entry.getKey(), estimateCuboidStorageSize(cubeSegment, entry.getKey(), entry.getValue(), baseCuboid.getId(), baseCuboidRowCount, rowkeyColumnSize, sourceRowCount)); } if (origin == false && cubeSegment.getConfig().enableJobCuboidSizeOptimize()) { optimizeSizeMap(sizeMap, cubeSegment); } return sizeMap; }
Example 4
Source File: RowKeyEncoder.java From kylin with Apache License 2.0 | 6 votes |
public RowKeyEncoder(CubeSegment cubeSeg, Cuboid cuboid) { super(cubeSeg, cuboid); enableSharding = cubeSeg.isEnableSharding(); headerLength = cubeSeg.getRowKeyPreambleSize(); Set<TblColRef> shardByColumns = cubeSeg.getCubeDesc().getShardByColumns(); if (shardByColumns.size() > 1) { throw new IllegalStateException("Does not support multiple UHC now"); } colIO = new RowKeyColumnIO(cubeSeg.getDimensionEncodingMap()); for (TblColRef column : cuboid.getColumns()) { if (shardByColumns.contains(column)) { uhcOffset = bodyLength; uhcLength = colIO.getColumnLength(column); } bodyLength += colIO.getColumnLength(column); } }
Example 5
Source File: CubeStatsReader.java From kylin-on-parquet-v2 with Apache License 2.0 | 5 votes |
private void printKVInfo(PrintWriter writer) { Cuboid cuboid = Cuboid.getBaseCuboid(seg.getCubeDesc()); RowKeyEncoder encoder = new RowKeyEncoder(seg, cuboid); for (TblColRef col : cuboid.getColumns()) { writer.println("Length of dimension " + col + " is " + encoder.getColumnLength(col)); } }
Example 6
Source File: CoprocessorRowType.java From kylin-on-parquet-v2 with Apache License 2.0 | 5 votes |
public static CoprocessorRowType fromCuboid(CubeSegment seg, Cuboid cuboid) { List<TblColRef> colList = cuboid.getColumns(); TblColRef[] cols = colList.toArray(new TblColRef[colList.size()]); RowKeyColumnIO colIO = new RowKeyColumnIO(seg.getDimensionEncodingMap()); int[] colSizes = new int[cols.length]; for (int i = 0; i < cols.length; i++) { colSizes[i] = colIO.getColumnLength(cols[i]); } return new CoprocessorRowType(cols, colSizes, seg.getRowKeyPreambleSize()); }
Example 7
Source File: CubeJoinedFlatTableEnrich.java From kylin-on-parquet-v2 with Apache License 2.0 | 5 votes |
private void parseCubeDesc() { Cuboid baseCuboid = Cuboid.getBaseCuboid(cubeDesc); // build index for rowkey columns List<TblColRef> cuboidColumns = baseCuboid.getColumns(); int rowkeyColCount = cubeDesc.getRowkey().getRowKeyColumns().length; rowKeyColumnIndexes = new int[rowkeyColCount]; for (int i = 0; i < rowkeyColCount; i++) { TblColRef col = cuboidColumns.get(i); rowKeyColumnIndexes[i] = flatDesc.getColumnIndex(col); } List<MeasureDesc> measures = cubeDesc.getMeasures(); int measureSize = measures.size(); measureColumnIndexes = new int[measureSize][]; for (int i = 0; i < measureSize; i++) { FunctionDesc func = measures.get(i).getFunction(); List<TblColRef> colRefs = func.getParameter().getColRefs(); if (colRefs == null) { measureColumnIndexes[i] = null; } else { measureColumnIndexes[i] = new int[colRefs.size()]; for (int j = 0; j < colRefs.size(); j++) { TblColRef c = colRefs.get(j); measureColumnIndexes[i][j] = flatDesc.getColumnIndex(c); } } } }
Example 8
Source File: CubeStatsReader.java From kylin with Apache License 2.0 | 5 votes |
private void printKVInfo(PrintWriter writer) { Cuboid cuboid = Cuboid.getBaseCuboid(seg.getCubeDesc()); RowKeyEncoder encoder = new RowKeyEncoder(seg, cuboid); for (TblColRef col : cuboid.getColumns()) { writer.println("Length of dimension " + col + " is " + encoder.getColumnLength(col)); } }
Example 9
Source File: CoprocessorRowType.java From kylin with Apache License 2.0 | 5 votes |
public static CoprocessorRowType fromCuboid(CubeSegment seg, Cuboid cuboid) { List<TblColRef> colList = cuboid.getColumns(); TblColRef[] cols = colList.toArray(new TblColRef[colList.size()]); RowKeyColumnIO colIO = new RowKeyColumnIO(seg.getDimensionEncodingMap()); int[] colSizes = new int[cols.length]; for (int i = 0; i < cols.length; i++) { colSizes[i] = colIO.getColumnLength(cols[i]); } return new CoprocessorRowType(cols, colSizes, seg.getRowKeyPreambleSize()); }
Example 10
Source File: CubeJoinedFlatTableEnrich.java From kylin with Apache License 2.0 | 5 votes |
private void parseCubeDesc() { Cuboid baseCuboid = Cuboid.getBaseCuboid(cubeDesc); // build index for rowkey columns List<TblColRef> cuboidColumns = baseCuboid.getColumns(); int rowkeyColCount = cubeDesc.getRowkey().getRowKeyColumns().length; rowKeyColumnIndexes = new int[rowkeyColCount]; for (int i = 0; i < rowkeyColCount; i++) { TblColRef col = cuboidColumns.get(i); rowKeyColumnIndexes[i] = flatDesc.getColumnIndex(col); } List<MeasureDesc> measures = cubeDesc.getMeasures(); int measureSize = measures.size(); measureColumnIndexes = new int[measureSize][]; for (int i = 0; i < measureSize; i++) { FunctionDesc func = measures.get(i).getFunction(); List<TblColRef> colRefs = func.getParameter().getColRefs(); if (colRefs == null) { measureColumnIndexes[i] = null; } else { measureColumnIndexes[i] = new int[colRefs.size()]; for (int j = 0; j < colRefs.size(); j++) { TblColRef c = colRefs.get(j); measureColumnIndexes[i][j] = flatDesc.getColumnIndex(c); } } } }
Example 11
Source File: FactDistinctColumnsMapper.java From Kylin with Apache License 2.0 | 5 votes |
@Override protected void setup(Context context) throws IOException { super.publishConfiguration(context.getConfiguration()); Configuration conf = context.getConfiguration(); KylinConfig config = AbstractHadoopJob.loadKylinPropsAndMetadata(conf); cubeName = conf.get(BatchConstants.CFG_CUBE_NAME); cube = CubeManager.getInstance(config).getCube(cubeName); cubeDesc = cube.getDescriptor(); intermediateTableDesc = new CubeJoinedFlatTableDesc(cubeDesc, null); long baseCuboidId = Cuboid.getBaseCuboidId(cubeDesc); Cuboid baseCuboid = Cuboid.findById(cubeDesc, baseCuboidId); List<TblColRef> columns = baseCuboid.getColumns(); ArrayList<Integer> factDictCols = new ArrayList<Integer>(); RowKeyDesc rowkey = cubeDesc.getRowkey(); DictionaryManager dictMgr = DictionaryManager.getInstance(config); for (int i = 0; i < columns.size(); i++) { TblColRef col = columns.get(i); if (rowkey.isUseDictionary(col) == false) continue; String scanTable = (String) dictMgr.decideSourceData(cubeDesc.getModel(), cubeDesc.getRowkey().getDictionary(col), col, null)[0]; if (cubeDesc.getModel().isFactTable(scanTable)) { factDictCols.add(i); } } this.factDictCols = new int[factDictCols.size()]; for (int i = 0; i < factDictCols.size(); i++) this.factDictCols[i] = factDictCols.get(i); schema = HCatInputFormat.getTableSchema(context.getConfiguration()); }
Example 12
Source File: FactDistinctColumnsReducer.java From Kylin with Apache License 2.0 | 5 votes |
@Override protected void setup(Context context) throws IOException { super.publishConfiguration(context.getConfiguration()); Configuration conf = context.getConfiguration(); KylinConfig config = AbstractHadoopJob.loadKylinPropsAndMetadata(conf); String cubeName = conf.get(BatchConstants.CFG_CUBE_NAME); CubeInstance cube = CubeManager.getInstance(config).getCube(cubeName); CubeDesc cubeDesc = cube.getDescriptor(); long baseCuboidId = Cuboid.getBaseCuboidId(cubeDesc); Cuboid baseCuboid = Cuboid.findById(cubeDesc, baseCuboidId); columnList = baseCuboid.getColumns(); }
Example 13
Source File: RowKeyEncoder.java From Kylin with Apache License 2.0 | 5 votes |
protected RowKeyEncoder(CubeSegment cubeSeg, Cuboid cuboid) { super(cuboid); colIO = new RowKeyColumnIO(cubeSeg); bytesLength = headerLength = RowConstants.ROWKEY_CUBOIDID_LEN; // header for (TblColRef column : cuboid.getColumns()) { bytesLength += colIO.getColumnLength(column); } }
Example 14
Source File: CoprocessorRowType.java From Kylin with Apache License 2.0 | 5 votes |
public static CoprocessorRowType fromCuboid(CubeSegment seg, Cuboid cuboid) { List<TblColRef> colList = cuboid.getColumns(); TblColRef[] cols = colList.toArray(new TblColRef[colList.size()]); RowKeyColumnIO colIO = new RowKeyColumnIO(seg); int[] colSizes = new int[cols.length]; for (int i = 0; i < cols.length; i++) { colSizes[i] = colIO.getColumnLength(cols[i]); } return new CoprocessorRowType(cols, colSizes); }