public static String serializeToBase64(Serializable object) { if (object == null) { return StringUtils.EMPTY; } FastByteArrayOutputStream baos = new FastByteArrayOutputStream(); ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(baos); oos.writeObject(object); } catch (IOException ex) { throw new EsHadoopSerializationException("Cannot serialize object " + object, ex); } finally { close(oos); } return DatatypeConverter.printBase64Binary(baos.bytes().bytes()); }
static BytesArray writeSerializablePartition(PartitionDefinition def) throws IOException { FastByteArrayOutputStream out = new FastByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(out); try { oos.writeObject(def); oos.flush(); return out.bytes(); } finally { oos.close(); } }
static BytesArray writeWritablePartition(PartitionDefinition def) throws IOException { FastByteArrayOutputStream out = new FastByteArrayOutputStream(); DataOutputStream da = new DataOutputStream(out); try { def.write(da); da.flush(); return out.bytes(); } finally { da.close(); } }
public static BytesArray asBytes(BytesArray ba, InputStream in) throws IOException { BytesArray buf = unwrapStreamBuffer(in); if (buf != null) { ba.bytes(buf); return ba; } FastByteArrayOutputStream bos = new FastByteArrayOutputStream(ba); byte[] buffer = new byte[1024]; int read = 0; try { while ((read = in.read(buffer)) != -1) { bos.write(buffer, 0, read); } } finally { try { in.close(); } catch (IOException ex) { // ignore } // non needed but used to avoid the warnings bos.close(); } return bos.bytes(); }
private void writableTypeToJson(Writable obj) { ContentBuilder.generate(out, new WritableValueWriter(false)).value(obj).flush().close(); System.out.println(out.bytes()); } }
@Test public void testMapWithArrayReadWrite() throws Exception { LinkedMapWritable written = new LinkedMapWritable(); ArrayWritable array = new WritableArrayWritable(Text.class); array.set(new Writable[] { new Text("one") , new Text("two"), new Text("three")} ); written.put(new Text("foo"), array); FastByteArrayOutputStream out = new FastByteArrayOutputStream(); DataOutputStream da = new DataOutputStream(out); written.write(da); da.close(); LinkedMapWritable read = new LinkedMapWritable(); read.readFields(new DataInputStream(new FastByteArrayInputStream(out.bytes()))); assertThat(read.size(), is(written.size())); assertThat(read.toString(), is(written.toString())); }
static BytesArray searchRequest(QueryBuilder query) { FastByteArrayOutputStream out = new FastByteArrayOutputStream(256); JacksonJsonGenerator generator = new JacksonJsonGenerator(out); try { generator.writeBeginObject(); generator.writeFieldName("query"); generator.writeBeginObject(); query.toJson(generator); generator.writeEndObject(); generator.writeEndObject(); } finally { generator.close(); } return out.bytes(); }
public void testHandleUnknown() { final String message = "True Belief"; Object obj = new Object() { @Override public String toString() { return message; } }; ContentBuilder.generate(out, new JdkValueWriter(true)).value(obj).flush().close(); assertEquals(message, out.bytes().toString()); }
@Test public void testEmptyArrayReadWrite() throws Exception { ArrayWritable array = new WritableArrayWritable(Text.class); FastByteArrayOutputStream out = new FastByteArrayOutputStream(); DataOutputStream da = new DataOutputStream(out); array.write(da); da.close(); WritableArrayWritable waw = new WritableArrayWritable(NullWritable.class); waw.readFields(new DataInputStream(new FastByteArrayInputStream(out.bytes()))); assertSame(array.getValueClass(), waw.getValueClass()); } }
private String hiveTypeToJson(HiveType obj) { ContentBuilder.generate(out, new HiveValueWriter()).value(obj).flush().close(); return out.bytes().toString(); }
private String jdkTypeToJson(Object obj) { ContentBuilder.generate(out, new JdkValueWriter(false)).value(obj).flush().close(); return out.bytes().toString(); }
private String pigTypeToJson(PigTuple obj) { ContentBuilder.generate(out, new PigValueWriter(false)).value(obj).flush().close(); return out.bytes().toString(); }
private String jdkTypeToJson(Object obj, Settings settings) { JdkValueWriter jdkWriter = new JdkValueWriter(false); jdkWriter.setSettings(settings); ContentBuilder.generate(out, jdkWriter).value(obj).flush().close(); return out.bytes().toString(); } }
private String pigTypeToJson(Object obj, Settings settings) { PigValueWriter writer = new PigValueWriter(false); writer.setSettings(settings); ContentBuilder.generate(out, writer).value(obj).flush().close(); return out.bytes().toString(); } }
private String hiveTypeToJson(HiveType obj, Settings cfg) { HiveValueWriter hiveWriter = new HiveValueWriter(); hiveWriter.setSettings(cfg); ContentBuilder.generate(out, hiveWriter).value(obj).flush().close(); return out.bytes().toString(); } }
private String pigTypeToJson(PigTuple obj, Settings settings) { PigValueWriter writer = new PigValueWriter(true); if (settings != null) { // Make sure to write with use.field.names as true settings.setProperty("es.mapping.pig.tuple.use.field.names", "true"); writer.setSettings(settings); } ContentBuilder.generate(out, writer).value(obj).flush().close(); return out.bytes().toString(); } }
generator.close(); return out.bytes();
return outputStream.bytes();
public static String serializeToBase64(Serializable object) { if (object == null) { return StringUtils.EMPTY; } FastByteArrayOutputStream baos = new FastByteArrayOutputStream(); ObjectOutputStream oos = null; try { oos = new ObjectOutputStream(baos); oos.writeObject(object); } catch (IOException ex) { throw new EsHadoopSerializationException("Cannot serialize object " + object, ex); } finally { close(oos); } return DatatypeConverter.printBase64Binary(baos.bytes().bytes()); }
static BytesArray searchRequest(QueryBuilder query) { FastByteArrayOutputStream out = new FastByteArrayOutputStream(256); JacksonJsonGenerator generator = new JacksonJsonGenerator(out); try { generator.writeBeginObject(); generator.writeFieldName("query"); generator.writeBeginObject(); query.toJson(generator); generator.writeEndObject(); generator.writeEndObject(); } finally { generator.close(); } return out.bytes(); }