This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
galaxy-tsg-olap-storm-log-s…/src/main/java/com/zdjizhi/bolt/CompletionBolt.java

54 lines
1.5 KiB
Java
Raw Normal View History

2021-03-16 14:48:07 +08:00
package com.zdjizhi.bolt;
2020-12-25 17:32:54 +08:00
2021-03-16 14:48:07 +08:00
import com.zdjizhi.common.FlowWriteConfig;
import cn.hutool.log.Log;
import cn.hutool.log.LogFactory;
2020-12-25 17:32:54 +08:00
import com.zdjizhi.utils.StringUtil;
2021-03-25 14:27:41 +08:00
import com.zdjizhi.utils.exception.StreamCompletionException;
2020-12-25 17:32:54 +08:00
import org.apache.storm.task.TopologyContext;
import org.apache.storm.topology.BasicOutputCollector;
import org.apache.storm.topology.OutputFieldsDeclarer;
import org.apache.storm.topology.base.BaseBasicBolt;
import org.apache.storm.tuple.Fields;
import org.apache.storm.tuple.Tuple;
import org.apache.storm.tuple.Values;
import java.util.Map;
2021-03-16 14:48:07 +08:00
import static com.zdjizhi.utils.general.TransFormUtils.dealCommonMessage;
2020-12-25 17:32:54 +08:00
/**
* @author qidaijie
*/
public class CompletionBolt extends BaseBasicBolt {
private static final long serialVersionUID = 9006119186526123734L;
2021-03-16 14:48:07 +08:00
private static final Log logger = LogFactory.get();
2020-12-25 17:32:54 +08:00
@Override
public void prepare(Map stormConf, TopologyContext context) {
}
@Override
public void execute(Tuple tuple, BasicOutputCollector basicOutputCollector) {
try {
2021-03-25 14:27:41 +08:00
String message = tuple.getString(0);
if (StringUtil.isNotBlank(message)) {
basicOutputCollector.emit(new Values(dealCommonMessage(message)));
}
} catch (StreamCompletionException e) {
2020-12-25 17:32:54 +08:00
logger.error(FlowWriteConfig.KAFKA_TOPIC + "接收/解析过程出现异常");
}
}
@Override
public void declareOutputFields(OutputFieldsDeclarer outputFieldsDeclarer) {
outputFieldsDeclarer.declare(new Fields("tsgLog"));
}
}