public DataType getType() { return column.getType(); }
private boolean isColumnCompatible(ColumnDesc column, ColumnDesc newCol) { if (!column.getName().equalsIgnoreCase(newCol.getName())) { return false; } if (column.getType().isIntegerFamily()) { // OLAPTable.listSourceColumns converts some integer columns to bigint, // therefore strict type comparison won't work. // changing from one integer type to another should be fine. return newCol.getType().isIntegerFamily(); } else if (column.getType().isNumberFamily()) { // Both are float/double should be fine. return newCol.getType().isNumberFamily(); } else { // only compare base type name, changing precision or scale should be fine return column.getTypeName().equals(newCol.getTypeName()); } }
@Override public int compare(String s1, String s2) { if (s1 == null) { return s2 == null ? 0 : -1; } else if (s2 == null) { return 1; } else { if (targetCol.getType().isNumberFamily()) return Double.compare(Double.parseDouble(s1), Double.parseDouble(s2)); else return s1.compareTo(s2); } } };
private void generateCreateTableDDL(Set<TableDesc> tables, PrintWriter out) { for (TableDesc t : tables) { if (t.isView()) continue; out.print("DROP TABLE IF EXISTS " + normHiveIdentifier(t.getIdentity()) + ";\n"); out.print("CREATE TABLE " + normHiveIdentifier(t.getIdentity()) + "(" + "\n"); for (int i = 0; i < t.getColumns().length; i++) { ColumnDesc col = t.getColumns()[i]; out.print(" "); if (i > 0) { out.print(","); } out.print(normHiveIdentifier(col.getName()) + " " + hiveType(col.getType()) + "\n"); } out.print(")" + "\n"); out.print("ROW FORMAT DELIMITED FIELDS TERMINATED BY ','" + "\n"); out.print("STORED AS TEXTFILE" + ";\n"); out.print("\n"); } }
@Override protected void init() throws IOException { ColumnDesc[] cols = tableDesc.getColumns(); colIsDateTime = new boolean[cols.length]; colIsNumber = new boolean[cols.length]; for (int i = 0; i < cols.length; i++) { DataType t = cols[i].getType(); colIsDateTime[i] = t.isDateTimeFamily(); colIsNumber[i] = t.isNumberFamily(); } super.init(); }
public RandomGen(ColumnDesc col, String format, int randStart, int randEnd, int cardinality) { this.type = col.getType();
for (ColumnDesc columnDesc : tableDesc.getColumns()) { String lowerCaseColumnName = columnDesc.getName().toLowerCase(Locale.ROOT); DataType dataType = columnDesc.getType(); if (dataType.isDateTimeFamily()) {
public DataType getType() { return column.getType(); }
for (String[] row : lookup) { tuple.value = row[di]; if (compf.evaluate(tuple, FilterCodeSystemFactory.getFilterCodeSystem(derivedCol.getColumnDesc().getType()))) { collect(row, pi, satisfyingHostRecords);
private String createRandomCell(ColumnDesc cDesc, ArrayList<String> range) throws Exception { DataType type = cDesc.getType(); if (type.isStringFamily()) { throw new Exception("Can't handle range values for string");
@Test public void testLoadTableMetadata() throws Exception { Pair<TableDesc, TableExtDesc> pair = explorer.loadTableMetadata("DEFAULT", "TEST_KYLIN_FACT", "DEFAULT"); Assert.assertNotNull(pair.getFirst()); Assert.assertNotNull(pair.getSecond()); TableDesc tblDesc = pair.getFirst(); TableExtDesc tblExtDesc = pair.getSecond(); Assert.assertEquals("TEST_KYLIN_FACT", tblDesc.getName()); Assert.assertEquals("TABLE", tblDesc.getTableType()); Assert.assertEquals("DEFAULT.TEST_KYLIN_FACT", tblDesc.getIdentity()); Assert.assertEquals("DEFAULT", tblDesc.getDatabase()); Assert.assertEquals("DEFAULT", tblDesc.getProject()); Assert.assertEquals(tblDesc.getIdentity(), tblExtDesc.getIdentity()); Assert.assertEquals(tblDesc.getProject(), tblExtDesc.getProject()); ColumnDesc[] columnDescs = tblDesc.getColumns(); Assert.assertEquals(tblDesc.getColumnCount(), columnDescs.length); Assert.assertNotNull(columnDescs[0].getName()); Assert.assertNotNull(columnDescs[0].getDatatype()); Assert.assertNotNull(columnDescs[0].getType()); Assert.assertNotNull(columnDescs[0].getId()); }
public TableRecordInfo(IISegment iiSegment) { seg = iiSegment; desc = seg.getIIInstance().getDescriptor(); allColumns = desc.listAllColumns(); nColumns = allColumns.size(); dictionaries = new Dictionary<?>[nColumns]; measureSerializers = new FixedLenMeasureCodec<?>[nColumns]; DictionaryManager dictMgr = DictionaryManager.getInstance(desc.getConfig()); int index = 0; for (TblColRef tblColRef : desc.listAllColumns()) { ColumnDesc col = tblColRef.getColumn(); if (desc.isMetricsCol(index)) { measureSerializers[index] = FixedLenMeasureCodec.get(col.getType()); } else { String dictPath = seg.getDictResPath(tblColRef); try { dictionaries[index] = dictMgr.getDictionary(dictPath); } catch (IOException e) { throw new RuntimeException("dictionary " + dictPath + " does not exist ", e); } } index++; } digest = createDigest(); }
public DataType getType() { return column.getType(); }
public DataType getType() { return column.getType(); }
functionDesc.setReturnDataType(DataType.getInstance(iiDefaultHLLC)); } else { functionDesc.setReturnType(column.getColumn().getType().toString()); functionDesc.setReturnDataType(DataType.getInstance(functionDesc.getReturnType()));
@Override public int compare(String s1, String s2) { if (s1 == null) { return s2 == null ? 0 : -1; } else if (s2 == null) { return 1; } else { if (targetCol.getType().isNumberFamily()) return Double.compare(Double.parseDouble(s1), Double.parseDouble(s2)); else return s1.compareTo(s2); } } };
private void generateCreateTableDDL(Set<TableDesc> tables, PrintWriter out) { for (TableDesc t : tables) { if (t.isView()) continue; out.print("DROP TABLE IF EXISTS " + normHiveIdentifier(t.getIdentity()) + ";\n"); out.print("CREATE TABLE " + normHiveIdentifier(t.getIdentity()) + "(" + "\n"); for (int i = 0; i < t.getColumns().length; i++) { ColumnDesc col = t.getColumns()[i]; out.print(" "); if (i > 0) { out.print(","); } out.print(normHiveIdentifier(col.getName()) + " " + hiveType(col.getType()) + "\n"); } out.print(")" + "\n"); out.print("ROW FORMAT DELIMITED FIELDS TERMINATED BY ','" + "\n"); out.print("STORED AS TEXTFILE" + ";\n"); out.print("\n"); } }
@Override protected void init() throws IOException { ColumnDesc[] cols = tableDesc.getColumns(); colIsDateTime = new boolean[cols.length]; colIsNumber = new boolean[cols.length]; for (int i = 0; i < cols.length; i++) { DataType t = cols[i].getType(); colIsDateTime[i] = t.isDateTimeFamily(); colIsNumber[i] = t.isNumberFamily(); } super.init(); }
public RandomGen(ColumnDesc col, String format, int randStart, int randEnd, int cardinality) { this.type = col.getType();
for (String[] row : lookup) { tuple.value = row[di]; if (compf.evaluate(tuple, FilterCodeSystemFactory.getFilterCodeSystem(derivedCol.getColumnDesc().getType()))) { collect(row, pi, satisfyingHostRecords);