@Override public void dropTables() { List<AnalyticsTable> tables = tableManager.getAllTables(); for (AnalyticsTable table : tables) { tableManager.dropTable(table.getTableName()); tableManager.dropTable(table.getTempTableName()); } }
private void createIndexes(List<AnalyticsTable> tables) { ConcurrentLinkedQueue<AnalyticsIndex> indexes = new ConcurrentLinkedQueue<>(); for (AnalyticsTable table : tables) { List<String[]> columns = table.getDimensionColumns(); for (String[] column : columns) { indexes.add(new AnalyticsIndex(table.getTempTableName(), column[0])); } } log.info("No of analytics table indexes: " + indexes.size()); List<Future<?>> futures = new ArrayList<>(); for (int i = 0; i < getProcessNo(); i++) { futures.add(tableManager.createIndexesAsync(indexes)); } ConcurrentUtils.waitForCompletion(futures); }