@Override public void operateOn(StructuredRecord record) { if (record.get(fieldName) != null) { count++; } }
@Override public void transform(StructuredRecord input, Emitter<StructuredRecord> emitter) throws Exception { Schema outSchema = config.getOutputSchema(input.getSchema()); StructuredRecord.Builder outputBuilder = StructuredRecord.builder(outSchema); for (Schema.Field inField : input.getSchema().getFields()) { outputBuilder.set(config.prefix + inField.getName(), input.get(inField.getName())); } emitter.emit(outputBuilder.build()); }
private Long getValue(StructuredRecord record) { Object val = record.get(name); if (val != null) { return Double.valueOf(val.toString()).longValue(); } return null; } }
private Object getRecordField(Object record, String fieldName) throws NoSuchFieldException, IllegalAccessException { if (record instanceof StructuredRecord) { return ((StructuredRecord) record).get(fieldName); } Class recordClass = record.getClass(); Field field = recordClass.getDeclaredField(fieldName); field.setAccessible(true); return field.get(record); }
@Override public void operateOn(StructuredRecord record) { Float val = record.get(fieldName); if (val != null) { updateFloat(val); } }
@Override public void operateOn(StructuredRecord record) { Double val = record.get(fieldName); if (val != null) { updateDouble(val); } }
@Override public String apply(Schema.Field field) { return record.get(field.getName()).toString(); } }));
@Override public void transform(StructuredRecord input, MultiOutputEmitter<StructuredRecord> emitter) throws Exception { String port = input.get(config.field) == null ? "null" : "non-null"; emitter.emit(port, input); }
@Override public void operateOn(StructuredRecord record) { Object val = record.get(fieldName); if (val == null) { return; } double value = ((Number) val).doubleValue(); stats.push(value); }
@Override public void operateOn(StructuredRecord record) { Integer val = record.get(fieldName); if (val != null) { updateInt(val); } }
@Override public void operateOn(StructuredRecord record) { Long value = record.get(fieldName); if (value != null) { operateOnLong(value, record); } } };
@Override public void operateOn(StructuredRecord record) { Object val = record.get(fieldName); if (val == null) { return; } double value = ((Number) val).doubleValue(); stats.push(value); }
@Override public void transform(StructuredRecord input, Emitter<StructuredRecord> emitter) throws Exception { if (input.get(conf.field) == null) { emitter.emitAlert(new HashMap<String, String>()); } else { emitter.emit(input); } }
@Override public void transform(StructuredRecord input, Emitter<StructuredRecord> emitter) throws Exception { String value = input.get(filterField); if (!filterValue.equals(value)) { emitter.emit(input); } else { emitter.emitError(new InvalidEntry<>(1, "bad string value", input)); } }
private void encodeRecord(Encoder encoder, Schema recordSchema, Object record) throws IOException { if (!(record instanceof StructuredRecord)) { throw new IOException("Expected StructuredRecord type. Got: " + record.getClass()); } encodeRecordBegin(encoder, recordSchema); for (Schema.Field field : recordSchema.getFields()) { encodeRecordField(encoder, field, ((StructuredRecord) record).get(field.getName())); } encodeRecordEnd(encoder, recordSchema); }
private void assertRecordEqualsUser(User expected, StructuredRecord actual) { Assert.assertEquals(expected.firstName, actual.get("firstName")); Assert.assertEquals(expected.lastName, actual.get("lastName")); Assert.assertEquals(expected.id, actual.get("id")); Assert.assertEquals(expected.timestamp, actual.get("timestamp")); Assert.assertEquals(expected.salary, actual.get("salary")); Assert.assertEquals(expected.lastPurchase, actual.get("lastPurchase")); Assert.assertEquals(ByteBuffer.wrap(expected.blob), actual.get("blob")); }
@Override public void transform(StructuredRecord input, Emitter<StructuredRecord> emitter) throws Exception { Integer value = input.get(config.field); if (value != config.value) { emitter.emit(input); } else { emitter.emitError(new InvalidEntry<>(2, "bad int value", input)); } }
private void encodeRecord(Encoder encoder, Schema recordSchema, Object record) throws IOException { if (!(record instanceof StructuredRecord)) { throw new IOException("Expected StructuredRecord type. Got: " + record.getClass()); } encodeRecordBegin(encoder, recordSchema); for (Schema.Field field : recordSchema.getFields()) { encodeRecordField(encoder, field, ((StructuredRecord) record).get(field.getName())); } encodeRecordEnd(encoder, recordSchema); }