JavaReceiverInputDStream<SparkFlumeEvent> flumeStream = FlumeUtils
.createStream(ssc, host, port);
flumeStream.flatMap(new FlatMapFunction<SparkFlumeEvent, String>() {
@Override
public Iterable<String> call(SparkFlumeEvent sfe) throws Exception {
// TODO Auto-generated method
return Arrays.asList(new String(sfe.event().getBody().array()).split("\\/"));
}
}).print();
上述代码中注意,先把SparkFlumeEvent转换为AvroFlumeEvent。用event()方法。然后在进行转换
new String(sfe.event().getBody().array())