当前位置: 首页>>代码示例>>Java>>正文


Java Cuboid.getColumns方法代码示例

本文整理汇总了Java中org.apache.kylin.cube.cuboid.Cuboid.getColumns方法的典型用法代码示例。如果您正苦于以下问题:Java Cuboid.getColumns方法的具体用法?Java Cuboid.getColumns怎么用?Java Cuboid.getColumns使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.kylin.cube.cuboid.Cuboid的用法示例。


在下文中一共展示了Cuboid.getColumns方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: getCuboidSizeMapFromRowCount

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
public static Map<Long, Double> getCuboidSizeMapFromRowCount(CubeSegment cubeSegment, Map<Long, Long> rowCountMap) {
    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));
    }
    return sizeMap;
}
 
开发者ID:apache,项目名称:kylin,代码行数:20,代码来源:CubeStatsReader.java

示例2: RowKeyEncoder

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
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);
    }
}
 
开发者ID:apache,项目名称:kylin,代码行数:18,代码来源:RowKeyEncoder.java

示例3: printKVInfo

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
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));
    }
}
 
开发者ID:apache,项目名称:kylin,代码行数:8,代码来源:CubeStatsReader.java

示例4: fromCuboid

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
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());
}
 
开发者ID:apache,项目名称:kylin,代码行数:11,代码来源:CoprocessorRowType.java

示例5: parseCubeDesc

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
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);
            }
        }
    }
}
 
开发者ID:apache,项目名称:kylin,代码行数:30,代码来源:CubeJoinedFlatTableEnrich.java

示例6: setup

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
@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());
}
 
开发者ID:KylinOLAP,项目名称:Kylin,代码行数:36,代码来源:FactDistinctColumnsMapper.java

示例7: setup

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
@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();
}
 
开发者ID:KylinOLAP,项目名称:Kylin,代码行数:15,代码来源:FactDistinctColumnsReducer.java

示例8: RowKeyEncoder

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
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);
    }
}
 
开发者ID:KylinOLAP,项目名称:Kylin,代码行数:9,代码来源:RowKeyEncoder.java

示例9: fromCuboid

import org.apache.kylin.cube.cuboid.Cuboid; //导入方法依赖的package包/类
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);
}
 
开发者ID:KylinOLAP,项目名称:Kylin,代码行数:11,代码来源:CoprocessorRowType.java


注:本文中的org.apache.kylin.cube.cuboid.Cuboid.getColumns方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。