private void removeSnapshotIfExist(ExtTableSnapshotInfoManager extSnapshotInfoManager, KylinConfig kylinConfig, String tableName, String lookupSnapshotID) throws IOException { ExtTableSnapshotInfo snapshotInfo = null; try { snapshotInfo = extSnapshotInfoManager.getSnapshot(tableName, lookupSnapshotID); } catch (Exception e) { // swallow the exception, means not snapshot exist of this snapshot id } if (snapshotInfo == null) { return; } logger.info("the table:{} snapshot:{} exist, remove it", tableName, lookupSnapshotID); extSnapshotInfoManager.removeSnapshot(tableName, lookupSnapshotID); String hTableName = snapshotInfo.getStorageLocationIdentifier(); logger.info("remove related HBase table:{} for snapshot:{}", hTableName, lookupSnapshotID); Connection conn = getHBaseConnection(kylinConfig); Admin admin = conn.getAdmin(); admin.deleteTable(TableName.valueOf(hTableName)); }
private static List<String> getAllUsedExtLookupTables() throws IOException { List<String> result = Lists.newArrayList(); KylinConfig config = KylinConfig.getInstanceFromEnv(); final Set<String> activeSnapshotSet = ExtTableSnapshotInfoManager.getInstance(config).getAllExtSnapshotResPaths(); for (String extSnapshotResource : activeSnapshotSet) { try { ExtTableSnapshotInfo extTableSnapshot = ExtTableSnapshotInfoManager.getInstance(config).getSnapshot( extSnapshotResource); if (extTableSnapshot != null) { if (ExtTableSnapshotInfo.STORAGE_TYPE_HBASE.equals(extTableSnapshot.getStorageType())) { result.add(extTableSnapshot.getStorageLocationIdentifier()); } } } catch (Exception e) { logger.error("error fetch ext table snapshot:" + extSnapshotResource, e); } } return result; }
public HBaseLookupTable(TableDesc tableDesc, ExtTableSnapshotInfo extTableSnapshot) { String tableName = extTableSnapshot.getStorageLocationIdentifier(); this.lookupTableName = TableName.valueOf(tableName); KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv(); Connection connection = HBaseConnection.get(kylinConfig.getStorageUrl()); try { table = connection.getTable(lookupTableName); } catch (IOException e) { throw new RuntimeException("error when connect HBase", e); } String[] keyColumns = extTableSnapshot.getKeyColumns(); encoder = new HBaseLookupRowEncoder(tableDesc, keyColumns, extTableSnapshot.getShardNum()); }
extTableSnapshotInfoManager.updateSnapshot(snapshot); String hTableName = snapshot.getStorageLocationIdentifier();
private void removeSnapshotIfExist(ExtTableSnapshotInfoManager extSnapshotInfoManager, KylinConfig kylinConfig, String tableName, String lookupSnapshotID) throws IOException { ExtTableSnapshotInfo snapshotInfo = null; try { snapshotInfo = extSnapshotInfoManager.getSnapshot(tableName, lookupSnapshotID); } catch (Exception e) { // swallow the exception, means not snapshot exist of this snapshot id } if (snapshotInfo == null) { return; } logger.info("the table:{} snapshot:{} exist, remove it", tableName, lookupSnapshotID); extSnapshotInfoManager.removeSnapshot(tableName, lookupSnapshotID); String hTableName = snapshotInfo.getStorageLocationIdentifier(); logger.info("remove related HBase table:{} for snapshot:{}", hTableName, lookupSnapshotID); Connection conn = getHBaseConnection(kylinConfig); Admin admin = conn.getAdmin(); admin.deleteTable(TableName.valueOf(hTableName)); }
public HBaseLookupTable(TableDesc tableDesc, ExtTableSnapshotInfo extTableSnapshot) { String tableName = extTableSnapshot.getStorageLocationIdentifier(); this.lookupTableName = TableName.valueOf(tableName); KylinConfig kylinConfig = KylinConfig.getInstanceFromEnv(); Connection connection = HBaseConnection.get(kylinConfig.getStorageUrl()); try { table = connection.getTable(lookupTableName); } catch (IOException e) { throw new RuntimeException("error when connect HBase", e); } String[] keyColumns = extTableSnapshot.getKeyColumns(); encoder = new HBaseLookupRowEncoder(tableDesc, keyColumns, extTableSnapshot.getShardNum()); }
extTableSnapshotInfoManager.updateSnapshot(snapshot); String hTableName = snapshot.getStorageLocationIdentifier();