Skip to content

Commit

Permalink
KYLIN-3546 Add column which belongs to root fact table in join relati…
Browse files Browse the repository at this point in the history
…on but lost
  • Loading branch information
hit-lacus authored and shaofengshi committed Sep 24, 2018
1 parent f37be33 commit 98833e0
Showing 1 changed file with 23 additions and 1 deletion.
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,11 @@

package org.apache.kylin.source.kafka;

import java.util.LinkedList;
import java.util.List;
import java.util.Set;

import com.google.common.collect.Sets;
import org.apache.kylin.cube.CubeSegment;
import org.apache.kylin.cube.model.CubeDesc;
import org.apache.kylin.engine.mr.JobBuilderSupport;
Expand All @@ -32,7 +35,10 @@
import org.apache.kylin.metadata.model.DataModelDesc;
import org.apache.kylin.metadata.model.IJoinedFlatTableDesc;
import org.apache.kylin.metadata.model.ISegment;
import org.apache.kylin.metadata.model.JoinDesc;
import org.apache.kylin.metadata.model.JoinTableDesc;
import org.apache.kylin.metadata.model.SegmentRange;
import org.apache.kylin.metadata.model.TableRef;
import org.apache.kylin.metadata.model.TblColRef;
import org.apache.kylin.source.hive.CreateFlatHiveTableStep;
import org.apache.kylin.source.hive.GarbageCollectionStep;
Expand Down Expand Up @@ -89,7 +95,23 @@ public DataModelDesc getDataModel() {

@Override
public List<TblColRef> getAllColumns() {
return flatDesc.getFactColumns();
final Set<TblColRef> factTableColumnSet = Sets.newHashSet();
TableRef rootFactTable = getDataModel().getRootFactTable();
for (TblColRef colRef : flatDesc.getAllColumns()) {
if (colRef.getTableRef().equals(rootFactTable)) {
factTableColumnSet.add(colRef);
}
}
// Add column which belongs to root fact table in join relation but lost
for (JoinTableDesc joinTableDesc : getDataModel().getJoinTables()) {
JoinDesc join = joinTableDesc.getJoin();
for (TblColRef colRef : join.getForeignKeyColumns()) {
if (colRef.getTableRef().equals(rootFactTable)) {
factTableColumnSet.add(colRef);
}
}
}
return new LinkedList<>(factTableColumnSet);
}

@Override
Expand Down

0 comments on commit 98833e0

Please sign in to comment.