RedisRichSinkFunction


自定义RedisRichSinkFunction,支持Redis数据库连接池。


定义

public class RedisRichSinkFunction<IN> extends RichSinkFunction<IN> {
private JedisPool pool = null;

@Override
public void open(Configuration parameters) throws Exception {
ParameterTool parameterTool = (ParameterTool) getRuntimeContext().getExecutionConfig().getGlobalJobParameters();
String hostname = parameterTool.get("redis_hostname");
int port = Integer.parseInt(parameterTool.get("redis_port"));
pool = RedisPoolFactory.getPool(hostname, port);
}

public JedisPool getPool() {
return pool;
}
}

使用

.addSink(new RedisRichSinkFunction[util.HashMap[String, (Integer, util.Set[String])]] {
override def invoke(value: util.HashMap[String, (Integer, util.Set[String])], context: SinkFunction.Context[_]): Unit = {
RedisHandler.setPvAndUv(getPool(), value)
}
})


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM