@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 static CubeFactTable cubeFactFromFactTable(XFactTable fact) throws LensException { List<FieldSchema> columns = fieldSchemaListFromColumns(fact.getColumns()); Map<String, Set<UpdatePeriod>> storageUpdatePeriods = getFactUpdatePeriodsFromStorageTables( fact.getStorageTables()); Map<String, Map<UpdatePeriod, String>> storageTablePrefixMap = storageTablePrefixMapOfStorage( fact.getStorageTables()); return new CubeFactTable(fact.getCubeName(), fact.getName(), columns, storageUpdatePeriods, fact.getWeight(), mapFromXProperties(fact.getProperties()), storageTablePrefixMap); }
public static CubeFactTable cubeFactFromFactTable(XFactTable fact) throws LensException { List<FieldSchema> columns = fieldSchemaListFromColumns(fact.getColumns()); Map<String, Set<UpdatePeriod>> storageUpdatePeriods = getFactUpdatePeriodsFromStorageTables(fact.getStorageTables()); Map<String, Map<UpdatePeriod, String>> storageTablePrefixMap = storageTablePrefixMapOfStorage(fact.getStorageTables()); Map<String, Set<String>> storageTablePartitionColumns = getStorageTablePartitionColumnsFromTableDescs(fact.getStorageTables()); return new CubeFactTable(fact.getCubeName(), fact.getName(), columns, storageUpdatePeriods, fact.getWeight(), mapFromXProperties(fact.getProperties()), storageTablePrefixMap, storageTablePartitionColumns); }
public void createFactTable(XFact fact) throws LensException { if (fact instanceof XVirtualFactTable) { XVirtualFactTable xvf = (XVirtualFactTable) fact; createVirtualFactTable(xvf.getCubeName(), xvf.getName(), xvf.getSourceFactName(), xvf.getWeight(), JAXBUtils.mapFromXProperties(xvf.getProperties())); } else { XFactTable xf = (XFactTable) fact; createCubeFactTable(fact.getCubeName(), fact.getName(), JAXBUtils.fieldSchemaListFromColumns(xf.getColumns()), JAXBUtils.getFactUpdatePeriodsFromStorageTables(xf.getStorageTables()), xf.getWeight(), addFactColStartTimePropertyToFactProperties(xf), JAXBUtils.tableDescPrefixMapFromXStorageTables(xf.getStorageTables()), JAXBUtils.storageTablePrefixMapOfStorage(xf.getStorageTables())); } }
public void createFactTable(XFact fact) throws LensException { if (fact instanceof XVirtualFactTable) { XVirtualFactTable xvf = (XVirtualFactTable) fact; createVirtualFactTable(xvf.getCubeName(), xvf.getName(), xvf.getSourceFactName(), xvf.getWeight(), JAXBUtils.mapFromXProperties(xvf.getProperties())); } else { XFactTable xf = (XFactTable) fact; createCubeFactTable(fact.getCubeName(), fact.getName(), JAXBUtils.fieldSchemaListFromColumns(xf.getColumns()), JAXBUtils.getFactUpdatePeriodsFromStorageTables(xf.getStorageTables()), xf.getWeight(), addFactColStartTimePropertyToFactProperties(xf), JAXBUtils.tableDescPrefixMapFromXStorageTables(xf.getStorageTables()), JAXBUtils.storageTablePrefixMapOfStorage(xf.getStorageTables()), JAXBUtils.getStorageTablePartitionColumnsFromTableDescs(xf.getStorageTables())); } }