public String getTableName() { return table.getName(); }
public String getIdentity() { if (identity == null) { identity = String.format(Locale.ROOT, "%s.%s", this.getDatabase().toUpperCase(Locale.ROOT), this.getName()) .toUpperCase(Locale.ROOT); } return identity; }
public String getIdentityQuoted(String quot) { String dbName = quot + this.getDatabase() + quot; String tableName = quot + this.getName() + quot; return String.format(Locale.ROOT, "%s.%s", dbName, tableName).toUpperCase(Locale.ROOT); }
public String getFactTableQuoted(String quot) { String database = quot + config.getHiveDatabaseForIntermediateTable() + quot; String table = quot + this.getName() + "_fact" + quot; return database + "." + table; }
public JdbcTable(JdbcConnector dataSource, TableDesc tableDesc) { this.dataSource = dataSource; this.database = tableDesc.getDatabase(); this.tableName = tableDesc.getName(); }
public JdbcTable(TableDesc tableDesc) { this.database = tableDesc.getDatabase(); this.tableName = tableDesc.getName(); }
public void validateTable(String project, String table) throws IOException { List<TableDesc> tableDescs = tableService.getTableDescByProject(project, false); Set<String> tables = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); for (TableDesc tableDesc : tableDescs) { tables.add(tableDesc.getDatabase() + "." + tableDesc.getName()); } if (!tables.contains(table)) { throw new RuntimeException("Operation failed, table:" + table + " not exists"); } }
public HiveTable(TableDesc tableDesc) { this.database = tableDesc.getDatabase(); this.hiveTable = tableDesc.getName(); try { this.hiveTableMeta = getHiveClient().getHiveTableMeta(database, hiveTable); } catch (Exception e) { throw new RuntimeException("cannot get HiveTableMeta", e); } }
@SuppressWarnings("unchecked") private void initRow(String[] cols, int[] keyIndex) { T[] value = convertRow(cols); T[] keyCols = (T[]) java.lang.reflect.Array.newInstance(getType(), keyIndex.length); for (int i = 0; i < keyCols.length; i++) keyCols[i] = value[keyIndex[i]]; Array<T> key = new Array<T>(keyCols); if (data.containsKey(key)) throw new IllegalStateException("The table: " + tableDesc.getName() + " Dup key found, key=" + toString(keyCols) + ", value1=" + toString(data.get(key)) + ", value2=" + toString(value)); data.put(key, value); }
private Map<String, Table> buildTableMap() { Map<String, Table> olapTables = new HashMap<String, Table>(); Collection<TableDesc> projectTables = ProjectManager.getInstance(config).listExposedTables(projectName, exposeMore); for (TableDesc tableDesc : projectTables) { if (tableDesc.getDatabase().equals(schemaName)) { final String tableName = tableDesc.getName();//safe to use tableDesc.getName() here, it is in a DB context now final OLAPTable table = new OLAPTable(this, tableDesc, exposeMore); olapTables.put(tableName, table); //logger.debug("Project " + projectName + " exposes table " + tableName); } } return olapTables; }
private Set<String> getAllColumns(String project, String table) throws IOException { List<TableDesc> tableDescByProject = tableService.getTableDescByProject(project, true); Set<String> cols = new TreeSet<>(String.CASE_INSENSITIVE_ORDER); for (TableDesc tableDesc : tableDescByProject) { String tbl = tableDesc.getDatabase() + "." + tableDesc.getName(); if (tbl.equalsIgnoreCase(table)) { for (ColumnDesc column : tableDesc.getColumns()) { cols.add(column.getName()); } break; } } return cols; } }
private void addAlias(TableRef ref) { String alias = ref.getAlias(); if (aliasMap.containsKey(alias)) throw new IllegalStateException("Alias '" + alias + "' ref to multiple tables: " + ref.getTableIdentity() + ", " + aliasMap.get(alias).getTableIdentity()); aliasMap.put(alias, ref); TableDesc table = ref.getTableDesc(); addTableName(table.getName(), ref); addTableName(table.getIdentity(), ref); }
protected static String getTableNameForHCat(TableDesc table, String uuid) { String tableName = (table.isView()) ? table.getMaterializedName(uuid) : table.getName(); String database = (table.isView()) ? KylinConfig.getInstanceFromEnv().getHiveDatabaseForIntermediateTable() : table.getDatabase(); return String.format(Locale.ROOT, "%s.%s", database, tableName).toUpperCase(Locale.ROOT); }
private List<String> generateCreateH2IndexSql(TableDesc tableDesc) { List<String> result = Lists.newArrayList(); int x = 0; for (ColumnDesc col : tableDesc.getColumns()) { if ("T".equalsIgnoreCase(col.getIndex())) { StringBuilder ddl = new StringBuilder(); ddl.append("CREATE INDEX IDX_" + tableDesc.getName() + "_" + x + " ON " + tableDesc.getIdentity() + "(" + col.getName() + ")"); ddl.append("\n"); result.add(ddl.toString()); x++; } } return result; }
@Override public String toString() { if (isInnerColumn() && parserDescription != null) return parserDescription; String alias = table == null ? "UNKNOWN_MODEL" : table.getAlias(); String tableName = column.getTable() == null ? "NULL" : column.getTable().getName(); String tableIdentity = column.getTable() == null ? "NULL" : column.getTable().getIdentity(); if (alias.equals(tableName)) { return tableIdentity + "." + column.getName(); } else { return alias + ":" + tableIdentity + "." + column.getName(); } }
public CubeInstance rebuildLookupSnapshot(CubeInstance cube, String segmentName, String lookupTable) throws IOException { aclEvaluate.checkProjectOperationPermission(cube); Message msg = MsgPicker.getMsg(); TableDesc tableDesc = getTableManager().getTableDesc(lookupTable, cube.getProject()); if (tableDesc.isView()) { throw new BadRequestException( String.format(Locale.ROOT, msg.getREBUILD_SNAPSHOT_OF_VIEW(), tableDesc.getName())); } CubeSegment seg = cube.getSegment(segmentName, SegmentStatusEnum.READY); getCubeManager().buildSnapshotTable(seg, lookupTable, null); return cube; }
public JobInstance submitLookupSnapshotJob(CubeInstance cube, String lookupTable, List<String> segmentIDs, String submitter) throws IOException { Message msg = MsgPicker.getMsg(); TableDesc tableDesc = getTableManager().getTableDesc(lookupTable, cube.getProject()); if (tableDesc.isView()) { throw new BadRequestException( String.format(Locale.ROOT, msg.getREBUILD_SNAPSHOT_OF_VIEW(), tableDesc.getName())); } LookupSnapshotBuildJob job = new LookupSnapshotJobBuilder(cube, lookupTable, segmentIDs, submitter).build(); getExecutableManager().addJob(job); JobInstance jobInstance = getLookupSnapshotBuildJobInstance(job); return jobInstance; }
/** * @param table */ public TableDescResponse(TableDesc table) { this.setColumns(table.getColumns()); this.setDatabase(table.getDatabase()); this.setName(table.getName()); this.setSourceType(table.getSourceType()); this.setUuid(table.getUuid()); this.setTableType(table.getTableType()); }
@Test public void testReadTableDesc() throws IOException { String requestTableData = "{\"name\":\"my_table_name\",\"source_type\":1,\"columns\":[{\"id\":1,\"name\":" + "\"amount\",\"datatype\":\"decimal\"},{\"id\":2,\"name\":\"category\",\"datatype\":\"varchar(256)\"}," + "{\"id\":3,\"name\":\"order_time\",\"datatype\":\"timestamp\"},{\"id\":4,\"name\":\"device\"," + "\"datatype\":\"varchar(256)\"},{\"id\":5,\"name\":\"qty\",\"datatype\":\"int\"},{\"id\":6,\"name\":" + "\"user_id\",\"datatype\":\"varchar(256)\"},{\"id\":7,\"name\":\"user_age\",\"datatype\":\"int\"}," + "{\"id\":8,\"name\":\"user_gender\",\"datatype\":\"varchar(256)\"},{\"id\":9,\"name\":\"currency\"," + "\"datatype\":\"varchar(256)\"},{\"id\":10,\"name\":\"country\",\"datatype\":\"varchar(256)\"}," + "{\"id\":11,\"name\":\"year_start\",\"datatype\":\"date\"},{\"id\":12,\"name\":\"quarter_start\"," + "\"datatype\":\"date\"},{\"id\":13,\"name\":\"month_start\",\"datatype\":\"date\"},{\"id\":14," + "\"name\":\"week_start\",\"datatype\":\"date\"},{\"id\":15,\"name\":\"day_start\",\"datatype\":" + "\"date\"},{\"id\":16,\"name\":\"hour_start\",\"datatype\":\"timestamp\"},{\"id\":17,\"name\":" + "\"minute_start\",\"datatype\":\"timestamp\"}],\"database\":\"my_database_name\"}"; TableDesc desc = JsonUtil.readValue(requestTableData, TableDesc.class); String[] dbTable = HadoopUtil.parseHiveTableName(desc.getIdentity()); desc.setName(dbTable[1]); desc.setDatabase(dbTable[0]); Assert.assertEquals("my_table_name".toUpperCase(Locale.ROOT), desc.getName()); Assert.assertEquals("my_database_name".toUpperCase(Locale.ROOT), desc.getDatabase()); } }