private Datum convertString(Object value, TajoDataTypes.Type tajoType) { switch (tajoType) { case CHAR: return DatumFactory.createChar(fromAvroString(value)); default: return DatumFactory.createText(fromAvroString(value)); } }
private static Tuple makeMinTuple(Tuple tuple) { tuple.put(new Datum[]{ DatumFactory.createInt8(Long.MIN_VALUE), DatumFactory.createInt4(Integer.MIN_VALUE), DatumFactory.createInt2(Short.MIN_VALUE), DatumFactory.createDate(0), DatumFactory.createTimestamp(0), DatumFactory.createTime(0), DatumFactory.createFloat4(Float.MIN_VALUE), DatumFactory.createFloat8(Double.MIN_VALUE) }); return tuple; }
@Override final public void addBoolean(boolean value) { parent.add(DatumFactory.createBool(value)); } }
private Datum convertInt(Object value, TajoDataTypes.Type tajoType) { int intValue = (Integer)value; switch (tajoType) { case BIT: return DatumFactory.createBit((byte)(intValue & 0xff)); case INT2: return DatumFactory.createInt2((short)intValue); default: return DatumFactory.createInt4(intValue); } }
@Test public void testGetDatum() { LazyTuple t1 = new LazyTuple(schema, textRow, -1, nullbytes, serde); assertEquals(DatumFactory.createBool(true), t1.get(0)); assertEquals(DatumFactory.createChar("str"), t1.get(1)); assertEquals(DatumFactory.createInt2((short) 17), t1.get(2)); assertEquals(DatumFactory.createInt4(59), t1.get(3)); assertEquals(DatumFactory.createInt8(23l), t1.get(4)); assertEquals(DatumFactory.createFloat4(77.9f), t1.get(5)); assertEquals(DatumFactory.createFloat8(271.9f), t1.get(6)); assertEquals(DatumFactory.createText("str2"), t1.get(7)); assertEquals(DatumFactory.createBlob("jinho".getBytes()), t1.get(8)); assertEquals(NullDatum.get(), t1.get(9)); assertEquals(NullDatum.get(), t1.get(10)); }
@Override public Datum minus(Datum datum) { switch (datum.type()) { case INT2: return DatumFactory.createInt2((short) (val - datum.asInt2())); case INT4: return DatumFactory.createInt4(val - datum.asInt4()); case INT8: return DatumFactory.createInt8(val - datum.asInt8()); case FLOAT4: return DatumFactory.createFloat4(val - datum.asFloat4()); case FLOAT8: return DatumFactory.createFloat8(val - datum.asFloat8()); case DATE: TimeMeta tm = datum.asTimeMeta(); tm.plusDays(0 - asInt2()); return new DateDatum(tm); case NULL_TYPE: return datum; default: throw new InvalidOperationException(datum.type()); } }
@Test public void testPut() { VTuple t1 = new VTuple(260); t1.put(0, DatumFactory.createText("str")); t1.put(1, DatumFactory.createInt4(2)); t1.put(257, DatumFactory.createFloat4(0.76f)); assertTrue(t1.contains(0)); assertTrue(t1.contains(1)); assertEquals(t1.getText(0),"str"); assertEquals(t1.get(1).asInt4(),2); assertTrue(t1.get(257).asFloat4() == 0.76f); }
public static void fillRow(int i, RowWriter builder) { builder.startRow(); builder.putBool(i % 1 == 0 ? true : false); // 0 builder.putInt2((short) 1); // 1 builder.putInt4(i); // 2 builder.putInt8(i); // 3 builder.putFloat4(i); // 4 builder.putFloat8(i); // 5 builder.putText((UNICODE_FIELD_PREFIX + i).getBytes()); // 6 builder.putTimestamp(DatumFactory.createTimestamp("2014-04-16 08:48:00").asInt8() + i); // 7 builder.putDate(DatumFactory.createDate("2014-04-16").asInt4() + i); // 8 builder.putTime(DatumFactory.createTime("08:48:00").asInt8() + i); // 9 builder.putInterval(DatumFactory.createInterval((i + 1) + " hours")); // 10 builder.putProtoDatum(new ProtobufDatum(ProtoUtil.convertString(i + ""))); // 11 builder.endRow(); }
@Override Datum next() throws IOException { byte[] bytes = reader.next(); return bytes == null ? NullDatum.get() : DatumFactory.createText(bytes); }
@Override public Datum extract(TimeMeta tm) { return DatumFactory.createFloat8((double) tm.monthOfYear); } }
@Override public Datum extract(TimeMeta dateTime) { return DatumFactory.createInt8(DateTimeUtil.getDay(dateTime)); } }
@Override final public void addFloat(float value) { parent.add(DatumFactory.createFloat4(value)); } }
@Override final public void addInt(int value) { parent.add(DatumFactory.createInt4(value)); } }
@Override final public void addInt(int value) { // Parquet DATE type is based on Unix Epoch(Jan 1, 1970). parent.add(DatumFactory.createDate(value + DateTimeConstants.UNIX_EPOCH_JDATE)); } }
@Override final public void addInt(int value) { parent.add(DatumFactory.createInt2((short)value)); } }
@Override Datum next() throws IOException { byte[] bytes = reader.next(); if (bytes == null) { return NullDatum.get(); } // TODO: enforce char length return DatumFactory.createChar(bytes); }
private Datum convertInt(Object value, TajoDataTypes.Type tajoType) { int intValue = (Integer)value; switch (tajoType) { case BIT: return DatumFactory.createBit((byte)(intValue & 0xff)); case INT2: return DatumFactory.createInt2((short)intValue); default: return DatumFactory.createInt4(intValue); } }
@Test public void testPut() { int colNum = schema.size(); LazyTuple t1 = new LazyTuple(schema, new byte[colNum][], -1); t1.put(0, DatumFactory.createText("str")); t1.put(1, DatumFactory.createInt4(2)); t1.put(10, DatumFactory.createFloat4(0.76f)); assertTrue(t1.contains(0)); assertTrue(t1.contains(1)); assertEquals(t1.getText(0), "str"); assertEquals(t1.get(1).asInt4(), 2); assertTrue(t1.get(10).asFloat4() == 0.76f); }
public static void validateTupleResult(int j, Tuple t) { assertTrue((j % 1 == 0) == t.getBool(0)); assertTrue(1 == t.getInt2(1)); assertEquals(j, t.getInt4(2)); assertEquals(j, t.getInt8(3)); assertTrue(j == t.getFloat4(4)); assertTrue(j == t.getFloat8(5)); assertEquals(new String(UNICODE_FIELD_PREFIX + j), t.getText(6)); assertEquals(DatumFactory.createTimestamp("2014-04-16 08:48:00").asInt8() + (long) j, t.getInt8(7)); assertEquals(DatumFactory.createDate("2014-04-16").asInt4() + j, t.getInt4(8)); assertEquals(DatumFactory.createTime("08:48:00").asInt8() + j, t.getInt8(9)); assertEquals(DatumFactory.createInterval((j + 1) + " hours"), t.getInterval(10)); assertEquals(new ProtobufDatum(ProtoUtil.convertString(j + "")), t.getProtobufDatum(11)); }
@Override Datum next() throws IOException { byte[] bytes = reader.next(); return bytes == null ? NullDatum.get() : DatumFactory.createText(bytes); }