public void loadOutSchema() { Schema q2 = SchemaBuilder.builder() .add("s_acctbal", Type.FLOAT8) .add("s_name", Type.TEXT) .add("n_name", Type.TEXT) .add("p_partkey", Type.INT4) .add("p_mfgr", Type.TEXT) .add("s_address", Type.TEXT) .add("s_phone", Type.TEXT) .add("s_comment", Type.TEXT) .build(); outSchemas.put("q2", q2); }
@Deprecated public SchemaBuilder addAll(Iterable<Column> columns) { return addAll2(columns, new Function<Column, Field>() { @Override public Field apply(@Nullable Column input) { return FieldConverter.convert(input); } }); }
public TajoMetaDataResultSet(List<String> columns, List<Type> types, List<MetaDataTuple> values) { super(null, SchemaBuilder.empty(), null); SchemaBuilder builder = SchemaBuilder.builder(); int index = 0; if(columns != null) { for(String columnName: columns) { builder.add(columnName, types.get(index++)); } } this.schema = builder.build(); setDataTuples(values); }
public <T> SchemaBuilder addAll2(Iterable<T> fields, Function<T, Field> fn) { for (T t : fields) { add(fn.apply(t)); } return this; }
private static Schema getNaturalJoinSchema(LogicalNode left, LogicalNode right) { SchemaBuilder joinSchema = SchemaBuilder.uniqueNameBuilder(); joinSchema.addAll(left.getOutSchema().getRootColumns()); joinSchema.addAll(right.getOutSchema().getRootColumns()); return joinSchema.build(); }
public static Schema targetToSchema(List<Target> targets) { SchemaBuilder schema = SchemaBuilder.uniqueNameBuilder(); for (Target t : targets) { Type type = t.getEvalTree().getValueType(); // hack to avoid projecting record type. if (type.isStruct()) { throw new TajoRuntimeException(new NotImplementedException("record projection")); } String name; if (t.hasAlias()) { name = t.getAlias(); } else { name = t.getEvalTree().getName(); } schema.add(name, TypeConverter.convert(type)); } return schema.build(); }
public <T> SchemaBuilder addAll2(T [] fields, Function<T, Field> fn) { for (T t : fields) { add(fn.apply(t)); } return this; }
private static Schema mergeSubSchemas(Schema originalSchema, Schema subSchema, List<Target> targets, EvalNode qual) { Set<Column> qualAndTargets = new HashSet<>(); qualAndTargets.addAll(EvalTreeUtil.findUniqueColumns(qual)); for (Target target : targets) { qualAndTargets.addAll(EvalTreeUtil.findUniqueColumns(target.getEvalTree())); } SchemaBuilder mergedSchema = SchemaBuilder.builder(); for (Column column : originalSchema.getRootColumns()) { if (subSchema.contains(column) || qualAndTargets.contains(column)) { mergedSchema.add(column); } } return mergedSchema.build(); }
public static Schema getSchemaByTargets(Schema inputSchema, List<Target> targets) { return SchemaBuilder.builder().addAll(targets, new Function<Target, Column>() { @Override public Column apply(@javax.annotation.Nullable Target target) { return new Column(target.hasAlias() ? target.getAlias() : target.getEvalTree().getName(), getDomainByExpr(inputSchema, target.getEvalTree())); } }).build(); }
@Deprecated public <T> SchemaBuilder addAll(Iterable<T> fields, Function<T, Column> fn) { for (T t : fields) { add(fn.apply(t)); } return this; }
@Deprecated public SchemaBuilder addAll(Column [] columns) { return addAll2(columns, new Function<Column, Field>() { @Override public Field apply(@Nullable Column input) { return FieldConverter.convert(input); } }); }
public void loadTable(String tableName) throws TajoException { TableMeta meta = CatalogUtil.newTableMeta(BuiltinStorages.TEXT, new TajoConf()); PartitionMethodDesc partitionMethodDesc = null; if (tableName.equals(CUSTOMER_PARTS)) { Schema expressionSchema = SchemaBuilder.builder() .add("c_nationkey", TajoDataTypes.Type.INT4).build(); partitionMethodDesc = new PartitionMethodDesc( tajo.getCurrentDatabase(), CUSTOMER_PARTS, CatalogProtos.PartitionType.COLUMN, "c_nationkey", expressionSchema); } tajo.createExternalTable(tableName, getSchema(tableName), new Path(dataDir, tableName).toUri(), meta, partitionMethodDesc); } }
@Deprecated public <T> SchemaBuilder addAll(T [] fields, Function<T, Column> fn) { for (T t : fields) { add(fn.apply(t)); } return this; }
@Test public void testCharLength() throws TajoException { testSimpleEval("select char_length('123456') as col1 ", new String[]{"6"}); Schema schema = SchemaBuilder.builder() .add("col1", TEXT) .add("col2", TEXT) .add("col3", TEXT) .build(); testEval(schema, "table1", "ABC,DEF,3.14", "select character_length(lower(col1) || lower(col2)) from table1", new String[]{"6"}); }
public <T> SchemaBuilder addAll2(Iterator<T> fields, Function<T, Field> fn) { while(fields.hasNext()) { T t = fields.next(); add(fn.apply(t)); } return this; }
@Test public void testLength() throws TajoException { testSimpleEval("select length('123456') as col1 ", new String[]{"6"}); Schema schema = SchemaBuilder.builder() .add("col1", TEXT) .add("col2", TEXT) .add("col3", TEXT) .build(); testEval(schema, "table1", "ABC,DEF,3.14", "select length(lower(col1) || lower(col2)) from table1", new String[]{"6"}); }