public static Set<String> getDimensions(String name, Map<String, String> props) { Set<String> dimensions = new HashSet<>(); String dimStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeDimensionListKey(name)); dimensions.addAll(Arrays.asList(StringUtils.split(dimStr, ','))); return dimensions; }
public static Set<String> getMeasures(String name, Map<String, String> props) { Set<String> measures = new HashSet<>(); String measureStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeMeasureListKey(name)); measures.addAll(Arrays.asList(StringUtils.split(measureStr, ','))); return measures; }
public static Set<String> getDimensions(String name, Map<String, String> props) { Set<String> dimensions = new HashSet<>(); String dimStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeDimensionListKey(name)); dimensions.addAll(Arrays.asList(StringUtils.split(dimStr, ','))); return dimensions; }
public static Set<String> getMeasures(String name, Map<String, String> props) { Set<String> measures = new HashSet<>(); String measureStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeMeasureListKey(name)); measures.addAll(Arrays.asList(StringUtils.split(measureStr, ','))); return measures; }
/** * Get join chains from properties * * @return set of join chains */ private static Set<JoinChain> getJoinChains(AbstractBaseTable tbl, String propName, Map<String, String> props) { Set<JoinChain> joinChains = new HashSet<>(); String joinChainsStr = MetastoreUtil.getNamedStringValue(props, propName); if (!StringUtils.isBlank(joinChainsStr)) { String[] cnames = joinChainsStr.split(","); for (String chainName : cnames) { JoinChain chain = new JoinChain(tbl, chainName); joinChains.add(chain); } } return joinChains; }
private static Set<ExprColumn> getExpressions(String name, Map<String, String> props) { Set<ExprColumn> exprs = new HashSet<>(); String exprStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getExpressionListKey(name)); if (!StringUtils.isBlank(exprStr)) { String[] names = exprStr.split(","); for (String exprName : names) { ExprColumn expr = new ExprColumn(exprName, props); exprs.add(expr); } } return exprs; }
/** * Get join chains from properties * * @return set of join chains */ private static Set<JoinChain> getJoinChains(AbstractBaseTable tbl, String propName, Map<String, String> props) { Set<JoinChain> joinChains = new HashSet<>(); String joinChainsStr = MetastoreUtil.getNamedStringValue(props, propName); if (!StringUtils.isBlank(joinChainsStr)) { String[] cnames = joinChainsStr.split(","); for (String chainName : cnames) { JoinChain chain = new JoinChain(tbl, chainName); joinChains.add(chain); } } return joinChains; }
private static Set<ExprColumn> getExpressions(String name, Map<String, String> props) { Set<ExprColumn> exprs = new HashSet<>(); String exprStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getExpressionListKey(name)); if (!StringUtils.isBlank(exprStr)) { String[] names = exprStr.split(","); for (String exprName : names) { ExprColumn expr = new ExprColumn(exprName, props); exprs.add(expr); } } return exprs; }
public static Set<CubeDimAttribute> getAttributes(String name, Map<String, String> props) { Set<CubeDimAttribute> attributes = new HashSet<>(); String attrStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getDimAttributeListKey(name)); String[] names = attrStr.split(","); for (String attrName : names) { String className = props.get(MetastoreUtil.getDimensionClassPropertyKey(attrName)); CubeDimAttribute attr; try { Class<?> clazz = Class.forName(className); Constructor<?> constructor; constructor = clazz.getConstructor(String.class, Map.class); attr = (CubeDimAttribute) constructor.newInstance(new Object[]{attrName, props}); } catch (Exception e) { throw new IllegalArgumentException("Invalid dimension", e); } attributes.add(attr); } return attributes; }
public static Set<CubeMeasure> getMeasures(String name, Map<String, String> props) { Set<CubeMeasure> measures = new HashSet<>(); String measureStr = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getCubeMeasureListKey(name)); String[] names = measureStr.split(","); for (String measureName : names) { String className = props.get(MetastoreUtil.getMeasureClassPropertyKey(measureName)); CubeMeasure measure; try { Class<?> clazz = Class.forName(className); Constructor<?> constructor; constructor = clazz.getConstructor(String.class, Map.class); measure = (CubeMeasure) constructor.newInstance(new Object[]{measureName, props}); } catch (Exception e) { throw new IllegalArgumentException("Invalid measure", e); } measures.add(measure); } return measures; }
/** * Return valid columns of the fact, which can be specified by property MetastoreUtil.getValidColumnsKey(getName()) * * @return */ public Set<String> getValidColumns() { String validColsStr = MetastoreUtil.getNamedStringValue(getProperties(), MetastoreUtil.getValidColumnsKey(getName())); return validColsStr == null ? null : new HashSet<>(Arrays.asList(StringUtils.split(validColsStr.toLowerCase(), ','))); }
/** * Return valid columns of the fact, which can be specified by property MetastoreUtil.getValidColumnsKey(getName()) * * @return */ public Set<String> getValidColumns() { String validColsStr = MetastoreUtil.getNamedStringValue(getProperties(), MetastoreUtil.getValidColumnsKey(getName())); return validColsStr == null ? null : new HashSet<>(Arrays.asList(StringUtils.split(validColsStr.toLowerCase(), ','))); }
@Override public Set<String> getValidColumns() { String validColsStr = MetastoreUtil.getNamedStringValue(this.getProperties(), MetastoreUtil.getValidColumnsKey(getName())); if (validColsStr == null) { return this.sourceCubeFactTable.getValidColumns(); } else { return new HashSet<>(Arrays.asList(StringUtils.split(validColsStr.toLowerCase(), ','))); } }
private static Set<Segment> getSegments(String name, Map<String, String> props) { Set<Segment> segments = new HashSet<>(); String segmentsString = MetastoreUtil.getNamedStringValue(props, MetastoreUtil.getSegmentsListKey(name)); if (!StringUtils.isBlank(segmentsString)) { String[] segs = segmentsString.split(","); for (String seg : segs) { Map<String, String> segProps = new HashMap<>(); String segmentPropStr = MetastoreUtil.getSegmentPropertyKey(seg); for (String key : props.keySet()) { if (key.startsWith(segmentPropStr)){ segProps.put(key, props.get(key)); } } segments.add(new Segment(seg, segProps)); } } return segments; }
/** * Return restricted columns of the table, which can be specified by property * MetastoreUtil.getRestrictedColumnsKey(getName()) * * @return set of restricted columns */ public Set<String> getRestrictedColumns() { String restrictedColsStr = MetastoreUtil.getNamedStringValue(getProperties(), MetastoreUtil.getRestrictedColumnsKey(getName())); log.info("Restricted cols : "+ restrictedColsStr + " for table : "+ this.getName()); return restrictedColsStr == null ? new HashSet<>() : new HashSet<>(Arrays.asList(StringUtils.split(restrictedColsStr .toLowerCase(), ','))); }
@Override public boolean initFromProperties(Map<String, String> properties) throws LensException { allPartitions.clear(); String partitionsStr = MetastoreUtil.getNamedStringValue(properties, "partitions"); if (partitionsStr == null) { return true; } for (String s : StringUtils.split(partitionsStr, ",")) { add(TimePartition.of(getUpdatePeriod(), s)); } return true; }
@Override public boolean initFromProperties(Map<String, String> properties) throws LensException { allPartitions.clear(); String partitionsStr = MetastoreUtil.getNamedStringValue(properties, "partitions"); if (partitionsStr == null) { return true; } for (String s : StringUtils.split(partitionsStr, ",")) { add(TimePartition.of(getUpdatePeriod(), s)); } return true; }
@Override public Set<String> getValidColumns() { String validColsStr = MetastoreUtil.getNamedStringValue(this.getProperties(), MetastoreUtil.getValidColumnsKey(getName())); if (validColsStr == null) { return this.sourceCubeFactTable.getValidColumns(); } else { return new HashSet<>(Arrays.asList(StringUtils.split(validColsStr.toLowerCase(), ','))); } }
@Override public boolean initFromProperties(Map<String, String> properties) throws LensException { ranges.clear(); String rangesStr = MetastoreUtil.getNamedStringValue(properties, "ranges"); if (!Strings.isNullOrEmpty(rangesStr)) { String[] split = rangesStr.split("\\s*,\\s*"); if (split.length % 2 == 1) { throw new LensException("Ranges incomplete"); } for (int i = 0; i < split.length; i += 2) { ranges.add(TimePartitionRange.parseFrom(getUpdatePeriod(), split[i], split[i + 1])); } } return isConsistent(); }
@Override public boolean initFromProperties(Map<String, String> properties) throws LensException { ranges.clear(); String rangesStr = MetastoreUtil.getNamedStringValue(properties, "ranges"); if (!Strings.isNullOrEmpty(rangesStr)) { String[] split = rangesStr.split("\\s*,\\s*"); if (split.length % 2 == 1) { throw new LensException("Ranges incomplete"); } for (int i = 0; i < split.length; i += 2) { ranges.add(TimePartitionRange.parseFrom(getUpdatePeriod(), split[i], split[i + 1])); } } return isConsistent(); }