public static Map<String, UpdatePeriod> dumpPeriodsFromStorageTables(XStorageTables storageTables) { if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { Map<String, UpdatePeriod> dumpPeriods = new LinkedHashMap<String, UpdatePeriod>(); for (XStorageTableElement ste : storageTables.getStorageTable()) { UpdatePeriod dumpPeriod = null; if (ste.getUpdatePeriods() != null && !ste.getUpdatePeriods().getUpdatePeriod().isEmpty()) { dumpPeriod = UpdatePeriod.valueOf(ste.getUpdatePeriods().getUpdatePeriod().get(0).name()); } dumpPeriods.put(ste.getStorageName(), dumpPeriod); } return dumpPeriods; } return null; }
public static Map<String, UpdatePeriod> dumpPeriodsFromStorageTables(XStorageTables storageTables) { if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { Map<String, UpdatePeriod> dumpPeriods = new LinkedHashMap<String, UpdatePeriod>(); for (XStorageTableElement ste : storageTables.getStorageTable()) { UpdatePeriod dumpPeriod = null; if (ste.getUpdatePeriods() != null && !ste.getUpdatePeriods().getUpdatePeriod().isEmpty()) { dumpPeriod = UpdatePeriod.valueOf(ste.getUpdatePeriods().getUpdatePeriod().get(0).name()); } dumpPeriods.put(ste.getStorageName(), dumpPeriod); } return dumpPeriods; } return null; }
public static Map<String, StorageTableDesc> tableDescPrefixMapFromXStorageTables(XStorageTables storageTables) { Map<String, StorageTableDesc> storageTablePrefixToDescMap = new HashMap<>(); if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { for (XStorageTableElement sTbl : storageTables.getStorageTable()) { if (sTbl.getUpdatePeriods() != null && sTbl.getUpdatePeriods().getUpdatePeriodTableDescriptor() != null && !sTbl .getUpdatePeriods().getUpdatePeriodTableDescriptor().isEmpty()) { for (XUpdatePeriodTableDescriptor updatePeriodTable : sTbl.getUpdatePeriods() .getUpdatePeriodTableDescriptor()) { // Get table name with update period as the prefix. storageTablePrefixToDescMap.put(updatePeriodTable.getUpdatePeriod() + "_" + sTbl.getStorageName(), storageTableDescFromXStorageTableDesc(updatePeriodTable.getTableDesc())); } } else { storageTablePrefixToDescMap.put(sTbl.getStorageName(), storageTableDescFromXStorageTableElement(sTbl)); } } } return storageTablePrefixToDescMap; }
public static Map<String, StorageTableDesc> tableDescPrefixMapFromXStorageTables(XStorageTables storageTables) { Map<String, StorageTableDesc> storageTablePrefixToDescMap = new HashMap<>(); if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { for (XStorageTableElement sTbl : storageTables.getStorageTable()) { if (sTbl.getUpdatePeriods() != null && sTbl.getUpdatePeriods().getUpdatePeriodTableDescriptor() != null && !sTbl .getUpdatePeriods().getUpdatePeriodTableDescriptor().isEmpty()) { for (XUpdatePeriodTableDescriptor updatePeriodTable : sTbl.getUpdatePeriods() .getUpdatePeriodTableDescriptor()) { // Get table name with update period as the prefix. storageTablePrefixToDescMap.put(updatePeriodTable.getUpdatePeriod() + "_" + sTbl.getStorageName(), storageTableDescFromXStorageTableDesc(updatePeriodTable.getTableDesc())); } } else { storageTablePrefixToDescMap.put(sTbl.getStorageName(), storageTableDescFromXStorageTableElement(sTbl)); } } } return storageTablePrefixToDescMap; }
public static Map<String, Set<UpdatePeriod>> getFactUpdatePeriodsFromStorageTables(XStorageTables storageTables) { if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { Map<String, Set<UpdatePeriod>> factUpdatePeriods = new LinkedHashMap<String, Set<UpdatePeriod>>(); for (XStorageTableElement ste : storageTables.getStorageTable()) { Set<UpdatePeriod> updatePeriods = new TreeSet<>(); // Check if the update period array is empty. List<XUpdatePeriod> updatePeriodList = ste.getUpdatePeriods().getUpdatePeriod(); if (updatePeriodList.isEmpty()) { List<XUpdatePeriodTableDescriptor> tableDescriptorList = ste.getUpdatePeriods() .getUpdatePeriodTableDescriptor(); for (XUpdatePeriodTableDescriptor tableDescriptor : tableDescriptorList) { updatePeriodList.add(tableDescriptor.getUpdatePeriod()); } } for (XUpdatePeriod upd : updatePeriodList) { updatePeriods.add(UpdatePeriod.valueOf(upd.name())); } factUpdatePeriods.put(ste.getStorageName(), updatePeriods); } return factUpdatePeriods; } return null; }
public static Map<String, Map<UpdatePeriod, String>> storageTablePrefixMapOfStorage(XStorageTables storageTables) { Map<String, Map<UpdatePeriod, String>> storageTableMap = new HashMap<>(); if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { for (XStorageTableElement sTbl : storageTables.getStorageTable()) { Map<UpdatePeriod, String> storageNameMap = new HashMap<>(); if (sTbl.getUpdatePeriods() != null && sTbl.getUpdatePeriods().getUpdatePeriodTableDescriptor() != null && !sTbl .getUpdatePeriods().getUpdatePeriodTableDescriptor().isEmpty()) { for (XUpdatePeriodTableDescriptor updatePeriodTable : sTbl.getUpdatePeriods() .getUpdatePeriodTableDescriptor()) { // Get table name with update period as the prefix. storageNameMap.put(UpdatePeriod.valueOf(updatePeriodTable.getUpdatePeriod().value()), updatePeriodTable.getUpdatePeriod() + "_" + sTbl.getStorageName()); } } else { for (XUpdatePeriod updatePeriod : sTbl.getUpdatePeriods().getUpdatePeriod()) { storageNameMap.put(UpdatePeriod.valueOf(updatePeriod.value()), sTbl.getStorageName()); } } storageTableMap.put(sTbl.getStorageName(), storageNameMap); } } return storageTableMap; }
public static Map<String, Set<UpdatePeriod>> getFactUpdatePeriodsFromStorageTables(XStorageTables storageTables) { if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { Map<String, Set<UpdatePeriod>> factUpdatePeriods = new LinkedHashMap<String, Set<UpdatePeriod>>(); for (XStorageTableElement ste : storageTables.getStorageTable()) { Set<UpdatePeriod> updatePeriods = new TreeSet<>(); // Check if the update period array is empty. List<XUpdatePeriod> updatePeriodList = ste.getUpdatePeriods().getUpdatePeriod(); if (updatePeriodList.isEmpty()) { List<XUpdatePeriodTableDescriptor> tableDescriptorList = ste.getUpdatePeriods() .getUpdatePeriodTableDescriptor(); for (XUpdatePeriodTableDescriptor tableDescriptor : tableDescriptorList) { updatePeriodList.add(tableDescriptor.getUpdatePeriod()); } } for (XUpdatePeriod upd : updatePeriodList) { updatePeriods.add(UpdatePeriod.valueOf(upd.name())); } factUpdatePeriods.put(ste.getStorageName(), updatePeriods); } return factUpdatePeriods; } return null; }
public static Map<String, Map<UpdatePeriod, String>> storageTablePrefixMapOfStorage(XStorageTables storageTables) { Map<String, Map<UpdatePeriod, String>> storageTableMap = new HashMap<>(); if (storageTables != null && !storageTables.getStorageTable().isEmpty()) { for (XStorageTableElement sTbl : storageTables.getStorageTable()) { Map<UpdatePeriod, String> storageNameMap = new HashMap<>(); if (sTbl.getUpdatePeriods() != null && sTbl.getUpdatePeriods().getUpdatePeriodTableDescriptor() != null && !sTbl .getUpdatePeriods().getUpdatePeriodTableDescriptor().isEmpty()) { for (XUpdatePeriodTableDescriptor updatePeriodTable : sTbl.getUpdatePeriods() .getUpdatePeriodTableDescriptor()) { // Get table name with update period as the prefix. storageNameMap.put(UpdatePeriod.valueOf(updatePeriodTable.getUpdatePeriod().value()), updatePeriodTable.getUpdatePeriod() + "_" + sTbl.getStorageName()); } } else { for (XUpdatePeriod updatePeriod : sTbl.getUpdatePeriods().getUpdatePeriod()) { storageNameMap.put(UpdatePeriod.valueOf(updatePeriod.value()), sTbl.getStorageName()); } } storageTableMap.put(sTbl.getStorageName(), storageNameMap); } } return storageTableMap; }
@Override public void addDimTableStorage(LensSessionHandle sessionid, String dimTblName, XStorageTableElement storageTable) throws LensException { try (SessionContext ignored = new SessionContext(sessionid)){ CubeMetastoreClient msClient = getClient(sessionid); CubeDimensionTable dimTable = msClient.getDimensionTable(dimTblName); UpdatePeriod period = null; if (storageTable.getUpdatePeriods() != null && !storageTable.getUpdatePeriods().getUpdatePeriod().isEmpty()) { period = UpdatePeriod.valueOf(storageTable.getUpdatePeriods().getUpdatePeriod().get(0).name()); } msClient.addStorage(dimTable, storageTable.getStorageName(), period, JAXBUtils.storageTableDescFromXStorageTableDesc(storageTable.getTableDesc())); log.info("Added storage " + storageTable.getStorageName() + " for dimension table " + dimTblName + " with update period " + period); } }
@Override public void addStorageToFact(LensSessionHandle sessionid, String fact, XStorageTableElement storageTable) throws LensException { Set<UpdatePeriod> updatePeriods = new TreeSet<>(); for (XUpdatePeriod sup : storageTable.getUpdatePeriods().getUpdatePeriod()) { updatePeriods.add(UpdatePeriod.valueOf(sup.name())); } try (SessionContext ignored = new SessionContext(sessionid)) { CubeMetastoreClient msClient = getClient(sessionid); XStorageTables tables = new XStorageTables(); tables.getStorageTable().add(storageTable); msClient.addStorage(msClient.getCubeFactTable(fact), storageTable.getStorageName(), updatePeriods, JAXBUtils.tableDescPrefixMapFromXStorageTables(tables), JAXBUtils.storageTablePrefixMapOfStorage(tables).get(storageTable.getStorageName())); log.info("Added storage " + storageTable.getStorageName() + ":" + updatePeriods + " for fact " + fact); } }
public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { { XUpdatePeriods theUpdatePeriods; theUpdatePeriods = this.getUpdatePeriods(); strategy.appendField(locator, this, "updatePeriods", buffer, theUpdatePeriods); } { String theStorageName; theStorageName = this.getStorageName(); strategy.appendField(locator, this, "storageName", buffer, theStorageName); } { XStorageTableDesc theTableDesc; theTableDesc = this.getTableDesc(); strategy.appendField(locator, this, "tableDesc", buffer, theTableDesc); } return buffer; }
public StringBuilder appendFields(ObjectLocator locator, StringBuilder buffer, ToStringStrategy strategy) { { XUpdatePeriods theUpdatePeriods; theUpdatePeriods = this.getUpdatePeriods(); strategy.appendField(locator, this, "updatePeriods", buffer, theUpdatePeriods); } { String theStorageName; theStorageName = this.getStorageName(); strategy.appendField(locator, this, "storageName", buffer, theStorageName); } { XStorageTableDesc theTableDesc; theTableDesc = this.getTableDesc(); strategy.appendField(locator, this, "tableDesc", buffer, theTableDesc); } return buffer; }
public XDimensionTable getXDimensionTable(CubeDimensionTable dimTable) throws LensException { XDimensionTable dt = JAXBUtils.dimTableFromCubeDimTable(dimTable); if (!dimTable.getStorages().isEmpty()) { for (String storageName : dimTable.getStorages()) { XStorageTableElement tblElement = JAXBUtils.getXStorageTableFromHiveTable( this.getHiveTable(MetastoreUtil.getFactOrDimtableStorageTableName(dimTable.getName(), storageName))); tblElement.setStorageName(storageName); UpdatePeriod p = dimTable.getSnapshotDumpPeriods().get(storageName); if (p != null) { tblElement.getUpdatePeriods().getUpdatePeriod().add(XUpdatePeriod.valueOf(p.name())); } dt.getStorageTables().getStorageTable().add(tblElement); } } return dt; }
public XDimensionTable getXDimensionTable(CubeDimensionTable dimTable) throws LensException { XDimensionTable dt = JAXBUtils.dimTableFromCubeDimTable(dimTable); if (!dimTable.getStorages().isEmpty()) { for (String storageName : dimTable.getStorages()) { XStorageTableElement tblElement = JAXBUtils.getXStorageTableFromHiveTable( this.getHiveTable(MetastoreUtil.getFactOrDimtableStorageTableName(dimTable.getName(), storageName))); tblElement.setStorageName(storageName); UpdatePeriod p = dimTable.getSnapshotDumpPeriods().get(storageName); if (p != null) { tblElement.getUpdatePeriods().getUpdatePeriod().add(XUpdatePeriod.valueOf(p.name())); } dt.getStorageTables().getStorageTable().add(tblElement); } } return dt; } /**
public XStorageTableElement getStorageOfFact(LensSessionHandle sessionid, String fact, String storageName) throws LensException { try (SessionContext ignored = new SessionContext(sessionid)) { CubeMetastoreClient msClient = getClient(sessionid); FactTable factTable = msClient.getFactTable(fact); Set<UpdatePeriod> updatePeriods = factTable.getUpdatePeriods().get(storageName); XStorageTableElement tblElement = JAXBUtils.getXStorageTableFromHiveTable( msClient.getHiveTable(MetastoreUtil.getFactOrDimtableStorageTableName(fact, storageName))); tblElement.setStorageName(storageName); for (UpdatePeriod p : updatePeriods) { tblElement.getUpdatePeriods().getUpdatePeriod().add(XUpdatePeriod.valueOf(p.name())); } return tblElement; } }
public XStorageTableElement getStorageOfDim(LensSessionHandle sessionid, String dimTblName, String storageName) throws LensException { try (SessionContext ignored = new SessionContext(sessionid)){ CubeMetastoreClient msClient = getClient(sessionid); CubeDimensionTable dimTable = msClient.getDimensionTable(dimTblName); XStorageTableElement tblElement = JAXBUtils.getXStorageTableFromHiveTable( msClient.getHiveTable(MetastoreUtil.getFactOrDimtableStorageTableName(dimTblName, storageName))); tblElement.setStorageName(storageName); UpdatePeriod p = dimTable.getSnapshotDumpPeriods().get(storageName); if (p != null) { tblElement.getUpdatePeriods().getUpdatePeriod().add(XUpdatePeriod.valueOf(p.name())); } return tblElement; } }
public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) { int currentHashCode = 1; { XUpdatePeriods theUpdatePeriods; theUpdatePeriods = this.getUpdatePeriods(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "updatePeriods", theUpdatePeriods), currentHashCode, theUpdatePeriods); } { String theStorageName; theStorageName = this.getStorageName(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "storageName", theStorageName), currentHashCode, theStorageName); } { XStorageTableDesc theTableDesc; theTableDesc = this.getTableDesc(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tableDesc", theTableDesc), currentHashCode, theTableDesc); } return currentHashCode; }
public int hashCode(ObjectLocator locator, HashCodeStrategy strategy) { int currentHashCode = 1; { XUpdatePeriods theUpdatePeriods; theUpdatePeriods = this.getUpdatePeriods(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "updatePeriods", theUpdatePeriods), currentHashCode, theUpdatePeriods); } { String theStorageName; theStorageName = this.getStorageName(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "storageName", theStorageName), currentHashCode, theStorageName); } { XStorageTableDesc theTableDesc; theTableDesc = this.getTableDesc(); currentHashCode = strategy.hashCode(LocatorUtils.property(locator, "tableDesc", theTableDesc), currentHashCode, theTableDesc); } return currentHashCode; }
private XStorageTableElement createStorageTblElement(String storageName, String table, final String[] timePartColNames, String... updatePeriod) { XStorageTableElement tbl = cubeObjectFactory.createXStorageTableElement(); tbl.setUpdatePeriods(new XUpdatePeriods()); tbl.setStorageName(storageName); if (updatePeriod != null) { for (String p : updatePeriod) { tbl.getUpdatePeriods().getUpdatePeriod().add(XUpdatePeriod.valueOf(p)); } } tbl.setTableDesc(createStorageTableDesc(table, timePartColNames)); return tbl; }
private XStorageTableElement createStorageTblElement(String storageName, String... updatePeriod) { XStorageTableElement tbl = new XStorageTableElement(); tbl.setUpdatePeriods(new XUpdatePeriods()); tbl.setStorageName(storageName); if (updatePeriod != null) { for (String p : updatePeriod) { tbl.getUpdatePeriods().getUpdatePeriod().add(XUpdatePeriod.valueOf(p)); } } tbl.setTableDesc(new XStorageTableDesc()); return tbl; } }