Example usage for org.apache.hadoop.io BooleanWritable BooleanWritable

List of usage examples for org.apache.hadoop.io BooleanWritable BooleanWritable

Introduction

In this page you can find the example usage for org.apache.hadoop.io BooleanWritable BooleanWritable.

Prototype

public BooleanWritable(boolean value) 

Source Link

Usage

From source file:com.hotels.corc.sarg.EvaluatorFactory.java

License:Apache License

static Comparable<?> toComparable(PrimitiveCategory category, Object literal) {
    String stringLiteral;//from w w  w. j a  v a  2s.  c  om
    switch (category) {
    case STRING:
        return new Text((String) literal);
    case BOOLEAN:
        return new BooleanWritable((Boolean) literal);
    case BYTE:
        return new ByteWritable(((Long) literal).byteValue());
    case SHORT:
        return new ShortWritable(((Long) literal).shortValue());
    case INT:
        return new IntWritable(((Long) literal).intValue());
    case LONG:
        return new LongWritable((Long) literal);
    case FLOAT:
        return new FloatWritable(((Double) literal).floatValue());
    case DOUBLE:
        return new DoubleWritable((Double) literal);
    case TIMESTAMP:
        return new TimestampWritable((Timestamp) literal);
    case DATE:
        return (DateWritable) literal;
    case CHAR:
        stringLiteral = (String) literal;
        return new HiveCharWritable(new HiveChar(stringLiteral, stringLiteral.length()));
    case VARCHAR:
        stringLiteral = (String) literal;
        return new HiveVarcharWritable(new HiveVarchar(stringLiteral, stringLiteral.length()));
    case DECIMAL:
        return new HiveDecimalWritable(HiveDecimal.create((BigDecimal) literal));
    default:
        throw new IllegalArgumentException("Unsupported category: " + category);
    }
}

From source file:com.hotels.corc.sarg.EvaluatorFactoryTest.java

License:Apache License

@SuppressWarnings("rawtypes")
@Test/*from   w w  w  . java2  s.c  o m*/
public void booleanTypical() {
    assertThat(toComparable(BOOLEAN, true), is((Comparable) new BooleanWritable(true)));
}

From source file:com.ikanow.aleph2.search_service.elasticsearch.utils.TestJsonNodeWritableUtils.java

License:Apache License

@Test
public void test_transform() {
    final ObjectMapper mapper = BeanTemplateUtils.configureMapper(Optional.empty());
    new JsonNodeWritableUtils(); //coverage!

    assertEquals(NullNode.instance, JsonNodeWritableUtils.transform("banana", JsonNodeFactory.instance));
    assertEquals(null, JsonNodeWritableUtils.transform(null, JsonNodeFactory.instance));
    assertEquals(NullNode.instance,/*from   w  w w .  j a v a 2 s. c om*/
            JsonNodeWritableUtils.transform(NullWritable.get(), JsonNodeFactory.instance));
    assertEquals(mapper.convertValue(true, JsonNode.class),
            JsonNodeWritableUtils.transform(new BooleanWritable(true), JsonNodeFactory.instance));
    assertEquals(mapper.convertValue("test", JsonNode.class),
            JsonNodeWritableUtils.transform(new Text("test"), JsonNodeFactory.instance));
    assertEquals(mapper.convertValue(new byte[] { (byte) 0xFF }, JsonNode.class),
            JsonNodeWritableUtils.transform(new ByteWritable((byte) 0xFF), JsonNodeFactory.instance));
    assertEquals(mapper.convertValue(4, JsonNode.class),
            JsonNodeWritableUtils.transform(new IntWritable(4), JsonNodeFactory.instance));
    assertEquals(mapper.convertValue(4, JsonNode.class),
            JsonNodeWritableUtils.transform(new VIntWritable(4), JsonNodeFactory.instance));
    assertEquals(mapper.convertValue(4L, JsonNode.class),
            JsonNodeWritableUtils.transform(new LongWritable(4), JsonNodeFactory.instance));
    assertEquals(mapper.convertValue(4L, JsonNode.class),
            JsonNodeWritableUtils.transform(new VLongWritable(4), JsonNodeFactory.instance));
    assertEquals(mapper.convertValue(new byte[] { (byte) 0xFF, (byte) 0xFE }, JsonNode.class),
            JsonNodeWritableUtils.transform(new BytesWritable(new byte[] { (byte) 0xFF, (byte) 0xFE }),
                    JsonNodeFactory.instance));
    assertEquals(mapper.convertValue(4.0, JsonNode.class),
            JsonNodeWritableUtils.transform(new DoubleWritable(4), JsonNodeFactory.instance));
    //(had real trouble creating a float node!)
    assertEquals(JsonNodeFactory.instance.numberNode(Float.valueOf((float) 4.0)),
            JsonNodeWritableUtils.transform(new FloatWritable(4), JsonNodeFactory.instance));

    // will test object writable and array writable below      
}

From source file:com.ikanow.aleph2.search_service.elasticsearch.utils.TestJsonNodeWritableUtils.java

License:Apache License

@SuppressWarnings("deprecation")
@Test/*ww w .j  a  va  2  s .c  o m*/
public void test_mapWritableWrapper() {
    final ObjectMapper mapper = BeanTemplateUtils.configureMapper(Optional.empty());

    final MapWritable m1 = new MapWritable();

    m1.put(new Text("test1"), new BooleanWritable(true));

    final MapWritable m2 = new MapWritable();
    m2.put(new Text("nested"), m1);
    m2.put(new Text("test2"), new Text("test2"));

    final ArrayWritable a1 = new ArrayWritable(IntWritable.class);
    a1.set(new Writable[] { new IntWritable(4), new IntWritable(5) });

    final ArrayWritable a2 = new ArrayWritable(MapWritable.class);
    a2.set(new Writable[] { m1, m1 });

    m2.put(new Text("array"), a2);
    m1.put(new Text("array"), a1);

    final JsonNode j2 = JsonNodeWritableUtils.from(m2);

    assertEquals(3, j2.size());

    // Check j's contents
    assertEquals(Stream.of("nested", "test2", "array").sorted().collect(Collectors.toList()),
            Optionals.streamOf(j2.fieldNames(), false).sorted().collect(Collectors.toList()));
    assertEquals("test2", j2.get("test2").asText());

    final JsonNode j1 = j2.get("nested");
    assertEquals(2, j1.size());
    final JsonNode j1b = JsonNodeWritableUtils.from(m1);
    assertTrue("{\"test1\":true,\"array\":[4,5]}".equals(j1b.toString())
            || "{\"array\":[4,5],\"test1\":true}".equals(j1b.toString())); //(tests entrySet)
    final ArrayNode an = mapper.createArrayNode();
    an.add(mapper.convertValue(4, JsonNode.class));
    an.add(mapper.convertValue(5, JsonNode.class));
    assertEquals(Arrays.asList(mapper.convertValue(true, JsonNode.class), an),
            Optionals.streamOf(((ObjectNode) j1).elements(), false).collect(Collectors.toList()));

    // OK, now test adding:

    assertEquals(2, j1.size());

    final ObjectNode o1 = (ObjectNode) j1;
    o1.put("added", "added_this");

    final ObjectNodeWrapper o1c = (ObjectNodeWrapper) o1;
    assertFalse(o1c.containsKey("not_present"));
    assertTrue(o1c.containsKey("added"));
    assertTrue(o1c.containsKey("test1"));

    assertEquals(Stream.of("test1", "array", "added").sorted().collect(Collectors.toList()),
            Optionals.streamOf(j1.fieldNames(), false).sorted().collect(Collectors.toList()));
    assertEquals(
            Arrays.asList(mapper.convertValue(true, JsonNode.class), an,
                    mapper.convertValue("added_this", JsonNode.class)),
            Optionals.streamOf(((ObjectNode) j1).elements(), false).collect(Collectors.toList()));
    assertTrue(j1.toString().contains("added_this"));
    assertTrue(j1.toString().contains("4,5"));

    assertEquals(mapper.convertValue("added_this", JsonNode.class), j1.get("added"));

    assertEquals(3, j1.size());

    // OK now test removing:

    assertEquals(null, o1.remove("not_present"));
    assertEquals(mapper.convertValue(true, JsonNode.class), o1.remove("test1"));
    assertEquals(2, o1.size());
    ObjectNode o1b = o1.remove(Arrays.asList("added", "array"));
    assertEquals(0, o1.size());
    assertEquals(0, o1b.size());

    o1.putAll(JsonNodeWritableUtils.from(m1)); // will be minus one object
    assertEquals(2, o1.size());
    assertTrue(o1c.containsValue(mapper.convertValue(true, JsonNode.class)));
    assertFalse(o1c.containsValue("banana"));

    final ObjectNodeWrapper o2 = (ObjectNodeWrapper) JsonNodeWritableUtils.from(m2);
    assertFalse(o2.isEmpty());
    assertTrue(o2.containsKey("array"));
    assertFalse(o2.containsValue("array"));
    assertTrue(o2.containsValue(mapper.convertValue("test2", JsonNode.class)));
    assertEquals(TextNode.class, o2.remove("test2").getClass());
    assertEquals(2, o2.size());
    o2.removeAll();
    assertEquals(0, o2.size());
}

From source file:com.manning.hip.ch4.joins.improved.impl.OptimizedDataJoinMapperBase.java

License:Apache License

public void configure(JobConf job) {
    super.configure(job);
    this.job = job;
    this.inputFile = job.get("map.input.file");
    this.inputTag = generateInputTag(this.inputFile);
    if (isInputSmaller(this.inputFile)) {
        smaller = new BooleanWritable(true);
        outputKey.setOrder(0);/*from   w  w  w  .j a  va2  s .co m*/
    } else {
        smaller = new BooleanWritable(false);
        outputKey.setOrder(1);
    }
}

From source file:com.manning.hip.ch4.joins.improved.impl.OutputValue.java

License:Apache License

public OutputValue() {
    this.smaller = new BooleanWritable(false);
}

From source file:com.moz.fiji.hive.io.FijiCellWritable.java

License:Apache License

/**
 * Reads and converts data according to the specified schema.
 *
 * @param out DataOutput to serialize this object into.
 * @param data data to be serialized./* w  w  w. j a v  a  2 s  .c  o m*/
 * @param schema Schema to be used for serializing this data.
 * @throws IOException if there was an error writing.
 */
private static void writeData(DataOutput out, Object data, Schema schema) throws IOException {
    switch (schema.getType()) {
    case INT:
        Integer intData = (Integer) data;
        WritableUtils.writeVInt(out, intData);
        break;
    case LONG:
        Long longData = (Long) data;
        WritableUtils.writeVLong(out, longData);
        break;
    case DOUBLE:
        Double doubleData = (Double) data;
        DoubleWritable doubleWritable = new DoubleWritable(doubleData);
        doubleWritable.write(out);
        break;
    case ENUM:
    case STRING:
        String stringData = data.toString();
        WritableUtils.writeString(out, stringData);
        break;
    case FLOAT:
        Float floatData = (Float) data;
        FloatWritable floatWritable = new FloatWritable(floatData);
        floatWritable.write(out);
        break;
    case ARRAY:
        List<Object> listData = (List<Object>) data;
        WritableUtils.writeVInt(out, listData.size());
        for (Object listElement : listData) {
            writeData(out, listElement, schema.getElementType());
        }
        break;
    case RECORD:
        IndexedRecord recordData = (IndexedRecord) data;
        WritableUtils.writeVInt(out, schema.getFields().size());
        for (Schema.Field field : schema.getFields()) {
            WritableUtils.writeString(out, field.name());
            writeData(out, recordData.get(field.pos()), field.schema());
        }
        break;
    case MAP:
        Map<String, Object> mapData = (Map<String, Object>) data;
        WritableUtils.writeVInt(out, mapData.size());
        for (Map.Entry<String, Object> entry : mapData.entrySet()) {
            WritableUtils.writeString(out, entry.getKey());
            writeData(out, entry.getValue(), schema.getValueType());
        }
        break;
    case UNION:
        final Integer tag = GenericData.get().resolveUnion(schema, data);
        WritableUtils.writeVInt(out, tag);
        Schema unionSubSchema = schema.getTypes().get(tag);
        writeData(out, data, unionSubSchema);
        break;
    case BYTES:
        byte[] bytesData = (byte[]) data;
        WritableUtils.writeCompressedByteArray(out, bytesData);
        break;
    case BOOLEAN:
        Boolean booleanData = (Boolean) data;
        BooleanWritable booleanWritable = new BooleanWritable(booleanData);
        booleanWritable.write(out);
        break;
    case NULL:
        // Don't need to write anything for null.
        break;
    case FIXED:
    default:
        throw new UnsupportedOperationException("Unsupported type: " + schema.getType());
    }
}

From source file:com.uber.hoodie.hadoop.realtime.AbstractRealtimeRecordReader.java

License:Apache License

/**
 * Convert the projected read from delta record into an array writable
 *//*ww  w.  j  a  va 2s  . c om*/
public static Writable avroToArrayWritable(Object value, Schema schema) {

    if (value == null) {
        return null;
    }

    switch (schema.getType()) {
    case STRING:
        return new Text(value.toString());
    case BYTES:
        return new BytesWritable((byte[]) value);
    case INT:
        return new IntWritable((Integer) value);
    case LONG:
        return new LongWritable((Long) value);
    case FLOAT:
        return new FloatWritable((Float) value);
    case DOUBLE:
        return new DoubleWritable((Double) value);
    case BOOLEAN:
        return new BooleanWritable((Boolean) value);
    case NULL:
        return null;
    case RECORD:
        GenericRecord record = (GenericRecord) value;
        Writable[] recordValues = new Writable[schema.getFields().size()];
        int recordValueIndex = 0;
        for (Schema.Field field : schema.getFields()) {
            recordValues[recordValueIndex++] = avroToArrayWritable(record.get(field.name()), field.schema());
        }
        return new ArrayWritable(Writable.class, recordValues);
    case ENUM:
        return new Text(value.toString());
    case ARRAY:
        GenericArray arrayValue = (GenericArray) value;
        Writable[] arrayValues = new Writable[arrayValue.size()];
        int arrayValueIndex = 0;
        for (Object obj : arrayValue) {
            arrayValues[arrayValueIndex++] = avroToArrayWritable(obj, schema.getElementType());
        }
        // Hive 1.x will fail here, it requires values2 to be wrapped into another ArrayWritable
        return new ArrayWritable(Writable.class, arrayValues);
    case MAP:
        Map mapValue = (Map) value;
        Writable[] mapValues = new Writable[mapValue.size()];
        int mapValueIndex = 0;
        for (Object entry : mapValue.entrySet()) {
            Map.Entry mapEntry = (Map.Entry) entry;
            Writable[] nestedMapValues = new Writable[2];
            nestedMapValues[0] = new Text(mapEntry.getKey().toString());
            nestedMapValues[1] = avroToArrayWritable(mapEntry.getValue(), schema.getValueType());
            mapValues[mapValueIndex++] = new ArrayWritable(Writable.class, nestedMapValues);
        }
        // Hive 1.x will fail here, it requires values3 to be wrapped into another ArrayWritable
        return new ArrayWritable(Writable.class, mapValues);
    case UNION:
        List<Schema> types = schema.getTypes();
        if (types.size() != 2) {
            throw new IllegalArgumentException("Only support union with 2 fields");
        }
        Schema s1 = types.get(0);
        Schema s2 = types.get(1);
        if (s1.getType() == Schema.Type.NULL) {
            return avroToArrayWritable(value, s2);
        } else if (s2.getType() == Schema.Type.NULL) {
            return avroToArrayWritable(value, s1);
        } else {
            throw new IllegalArgumentException("Only support union with null");
        }
    case FIXED:
        return new BytesWritable(((GenericFixed) value).bytes());
    default:
        return null;
    }
}

From source file:crunch.MaxTemperature.java

License:Apache License

@Test
    public void test() throws IOException {
        BooleanWritable src = new BooleanWritable(true);
        BooleanWritable dest = new BooleanWritable();
        assertThat(writeTo(src, dest), is("01"));
        assertThat(dest.get(), is(src.get()));
    }//from  w w  w .  j  a va2 s.c o  m

From source file:de.kp.core.spade.hadoop.AbstractionWritable.java

License:Open Source License

/**
 * @param abstraction/* w  w w  .ja  v  a 2 s  . c o  m*/
 */
public AbstractionWritable(AbstractionGeneric abstraction) {
    hasEqualRelationWritable = new BooleanWritable(((AbstractionQualitative) abstraction).hasEqualRelation());
}