public StreamEventBuilder attributes(Object... data) { instance.setData(data); return this; }
public StreamEvent(String streamId, long timestamp, Object[] data) { this.setStreamId(streamId); this.setTimestamp(timestamp); this.setData(data); }
public StreamEventBuilder attributes(Map<String, Object> data, StreamDefinition streamDefinition) { this.schema(streamDefinition); List<StreamColumn> columnList = streamDefinition.getColumns(); if (columnList != null && columnList.size() > 0) { List<Object> values = new ArrayList<>(columnList.size()); for (StreamColumn column : columnList) { values.add(data.getOrDefault(column.getName(), column.getDefaultValue())); } instance.setData(values.toArray()); } else if (LOG.isDebugEnabled()) { LOG.warn("All data [{}] are ignored as no columns defined in schema {}", data, streamDefinition); } return this; }
public StreamEvent(String streamId, long timestamp, Object[] data, String metaVersion) { this.setStreamId(streamId); this.setTimestamp(timestamp); this.setData(data); this.setMetaVersion(metaVersion); }
event.setData(attributes); return event;
private StreamEvent buildStreamEvt(long ts, String host, double value) { StreamEvent e = new StreamEvent(); e.setData(new Object[] {ts, host, value}); e.setStreamId(inputStream); e.setTimestamp(ts); return e; } }
@Override public List<StreamEvent> map(Tuple tuple) throws Exception { long timestamp; if (tuple.getFields().contains(TIMESTAMP_FIELD)) { try { timestamp = tuple.getLongByField("timestamp"); } catch (Exception ex) { // if timestamp is not null LOGGER.error(ex.getMessage(), ex); timestamp = 0; } } else { timestamp = System.currentTimeMillis(); } Object[] values = new Object[tuple.getFields().size()]; for (int i = 0; i < tuple.getFields().size(); i++) { values[i] = tuple.getValue(i); } StreamEvent event = new StreamEvent(); event.setTimestamp(timestamp); event.setStreamId(streamId); event.setData(values); return Collections.singletonList(event); } }
private StreamEvent buildStreamEvent(long ts, String host, double value) { StreamEvent e = new StreamEvent(); e.setData(new Object[] {ts, host, value}); e.setStreamId(inputStream); e.setTimestamp(ts); return e; }
private StreamEvent buildStreamEvt(long ts, String host, double value) { StreamEvent e = new StreamEvent(); e.setData(new Object[] {ts, host, value}); e.setStreamId(inputStream); e.setTimestamp(ts); return e; }
private StreamEvent buildStreamEvt(long ts, String jobID, String status) { StreamEvent e = new StreamEvent(); e.setData(new Object[] {ts, jobID, status}); e.setStreamId(inputStream); e.setTimestamp(ts); return e; } }
public void copyFrom(StreamEvent event) { this.setTimestamp(event.getTimestamp()); this.setData(event.getData()); this.setStreamId(event.getStreamId()); this.setMetaVersion(event.getMetaVersion()); }
/** * @return cloned new event object. */ public StreamEvent copy() { StreamEvent newEvent = new StreamEvent(); newEvent.setTimestamp(this.getTimestamp()); newEvent.setData(this.getData()); newEvent.setStreamId(this.getStreamId()); newEvent.setMetaVersion(this.getMetaVersion()); return newEvent; }
@Test public void testJavaSerialization() { PartitionedEvent partitionedEvent = new PartitionedEvent(); partitionedEvent.setPartitionKey(partitionedEvent.hashCode()); partitionedEvent.setPartition(createSampleStreamGroupbyPartition("sampleStream", Arrays.asList("name", "host"))); StreamEvent event = new StreamEvent(); event.setStreamId("sampleStream"); event.setTimestamp(System.currentTimeMillis()); event.setData(new Object[] {"CPU", "LOCALHOST", true, Long.MAX_VALUE, 60.0}); partitionedEvent.setEvent(event); int javaSerializationLength = SerializationUtils.serialize(partitionedEvent).length; LOG.info("Java serialization length: {}, event: {}", javaSerializationLength, partitionedEvent); int compactLength = 0; compactLength += "sampleStream".getBytes().length; compactLength += ByteUtils.intToBytes(partitionedEvent.getPartition().hashCode()).length; compactLength += ByteUtils.longToBytes(partitionedEvent.getTimestamp()).length; compactLength += "CPU".getBytes().length; compactLength += "LOCALHOST".getBytes().length; compactLength += 1; compactLength += ByteUtils.longToBytes(Long.MAX_VALUE).length; compactLength += ByteUtils.doubleToBytes(60.0).length; LOG.info("Compact serialization length: {}, event: {}", compactLength, partitionedEvent); Assert.assertTrue(compactLength * 20 < javaSerializationLength); }
event1.setMetaVersion("version1"); Object[] data = new Object[] { base , "child-"+ (i++), "", linkedSwitch}; event1.setData(data); event1.setStreamId("correlatedStream"); PartitionedEvent partitionedEvent1 = new PartitionedEvent(event1, sp, 1001); event2.setMetaVersion("version1"); data = new Object[] { base , "child-"+ (i++), "", linkedSwitch}; event2.setData(data); event2.setStreamId("correlatedStream"); PartitionedEvent partitionedEvent2 = new PartitionedEvent(event2, sp, 1001);
@Test public void testStreamEvent1() { thrown.expect(IndexOutOfBoundsException.class); List<StreamColumn> streamColumns = new ArrayList<>(); streamColumns.add(new StreamColumn.Builder().name("name").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("host").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("flag").type(StreamColumn.Type.BOOL).build()); streamColumns.add(new StreamColumn.Builder().name("value").type(StreamColumn.Type.DOUBLE).build()); streamColumns.add(new StreamColumn.Builder().name("data").type(StreamColumn.Type.LONG).build()); streamColumns.add(new StreamColumn.Builder().name("salary").type(StreamColumn.Type.FLOAT).build()); streamColumns.add(new StreamColumn.Builder().name("object").type(StreamColumn.Type.OBJECT).build()); streamColumns.add(new StreamColumn.Builder().name("int").type(StreamColumn.Type.INT).build()); StreamDefinition streamDefinition = new StreamDefinition(); streamDefinition.setColumns(streamColumns); StreamEvent streamEvent = new StreamEvent(); streamEvent.setData(new Object[]{"namevalue", "hostvalue", "1", 10.0, 1, -0.2, "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}\"", 4}); streamEvent.getData(streamDefinition, "salary", "isYhd"); }
@Test public void testStreamEvent2() { thrown.expect(IndexOutOfBoundsException.class); List<StreamColumn> streamColumns = new ArrayList<>(); streamColumns.add(new StreamColumn.Builder().name("name").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("host").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("flag").type(StreamColumn.Type.BOOL).build()); streamColumns.add(new StreamColumn.Builder().name("value").type(StreamColumn.Type.DOUBLE).build()); streamColumns.add(new StreamColumn.Builder().name("data").type(StreamColumn.Type.LONG).build()); streamColumns.add(new StreamColumn.Builder().name("salary").type(StreamColumn.Type.FLOAT).build()); streamColumns.add(new StreamColumn.Builder().name("object").type(StreamColumn.Type.OBJECT).build()); streamColumns.add(new StreamColumn.Builder().name("int").type(StreamColumn.Type.INT).build()); StreamDefinition streamDefinition = new StreamDefinition(); streamDefinition.setColumns(streamColumns); StreamEvent streamEvent = new StreamEvent(); streamEvent.setData(new Object[]{"namevalue", "hostvalue", "1", 10.0, 1, -0.2, "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}\""}); streamEvent.getData(streamDefinition, "salary", "int"); }
@Test public void testStreamEvent3() { List<StreamColumn> streamColumns = new ArrayList<>(); streamColumns.add(new StreamColumn.Builder().name("name").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("host").type(StreamColumn.Type.STRING).build()); streamColumns.add(new StreamColumn.Builder().name("flag").type(StreamColumn.Type.BOOL).build()); streamColumns.add(new StreamColumn.Builder().name("value").type(StreamColumn.Type.DOUBLE).build()); streamColumns.add(new StreamColumn.Builder().name("data").type(StreamColumn.Type.LONG).build()); streamColumns.add(new StreamColumn.Builder().name("salary").type(StreamColumn.Type.FLOAT).build()); streamColumns.add(new StreamColumn.Builder().name("object").type(StreamColumn.Type.OBJECT).build()); streamColumns.add(new StreamColumn.Builder().name("int").type(StreamColumn.Type.INT).build()); StreamDefinition streamDefinition = new StreamDefinition(); streamDefinition.setColumns(streamColumns); StreamEvent streamEvent = new StreamEvent(); streamEvent.setData(new Object[]{"namevalue", 1, "flag", 10.0, 0.1, -0.2, "{\"name\":\"heap.COMMITTED\", \"Value\":\"175636480\"}\"", 1}); Object[] values = streamEvent.getData(streamDefinition, "value", "host"); Assert.assertEquals(10.0, values[0]); Assert.assertEquals(1, values[1]); }
private PartitionedEvent constructPE() { StreamEvent e = new StreamEvent(); e.setStreamId("testStreamId"); e.setTimestamp(1463159382000L); e.setData(data); StreamPartition sp = new StreamPartition(); List<String> col = new ArrayList<>(); col.add("host"); sp.setColumns(col); StreamSortSpec sortSpec = new StreamSortSpec(); sortSpec.setWindowMargin(30000); sortSpec.setWindowPeriod("PT1M"); sp.setSortSpec(sortSpec); sp.setStreamId("testStreamId"); sp.setType(StreamPartition.Type.GROUPBY); PartitionedEvent pe = new PartitionedEvent(); pe.setEvent(e); pe.setPartition(sp); pe.setPartitionKey(1000); return pe; }
event1.setMetaVersion("version1"); Object[] data = new Object[] {"value1"}; event1.setData(data); event1.setStreamId(streamId); PartitionedEvent partitionedEvent1 = new PartitionedEvent(event1, sp, 1001); event2.setMetaVersion("version1"); data = new Object[] {"value2"}; event2.setData(data); event2.setStreamId(streamId); PartitionedEvent partitionedEvent2 = new PartitionedEvent(event2, sp, 1001);
event1.setPartitionKey(1000); StreamEvent e1 = new StreamEvent(); e1.setData(new Object[] {18.4}); e1.setStreamId("testStreamId"); e1.setTimestamp(1462909984000L); event2.setPartitionKey(1000); StreamEvent e2 = new StreamEvent(); e2.setData(new Object[] {16.3}); e2.setStreamId("testStreamId"); e2.setTimestamp(1462909984000L); event3.setPartitionKey(1000); StreamEvent e3 = new StreamEvent(); e3.setData(new Object[] {14.3}); e3.setStreamId("testStreamId"); e3.setTimestamp(1462909984001L); event4.setPartitionKey(1000); StreamEvent e4 = new StreamEvent(); e4.setData(new Object[] {14.3}); e4.setStreamId("testStreamId"); e4.setTimestamp(1462909984001L);