从网络获取字符串并写入pulsar
package cn.edu.tju.test2;
import org.apache.flink.api.common.serialization.SimpleStringSchema;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.connectors.pulsar.FlinkPulsarSink;
import org.apache.flink.streaming.connectors.pulsar.FlinkPulsarSource;
import org.apache.flink.streaming.util.serialization.PulsarDeserializationSchema;
import org.apache.flink.streaming.util.serialization.PulsarPrimitiveSchema;
import org.apache.flink.streaming.util.serialization.PulsarSerializationSchema;
import java.util.Optional;
import java.util.Properties;
public class FlinkPulsar02 {
private static String SERVER_4 = "xx.xx.xx.xx";
private static int port = 9999;
public static void main(String[] args) throws Exception {
//创建flink的流式执行环境
StreamExecutionEnvironment env = StreamExecutionEnvironment.createLocalEnvironment();
//配置pulsar
String serviceUrl = "pulsar://" + SERVER_4 + ":6650";
String adminUrl = "http://" + SERVER_4 + ":8080";
Properties properties = new Properties();
DataStreamSource<String> dataStreamSource = env.socketTextStream(SERVER_4, port);
FlinkPulsarSink<String> flinkPulsarSink = new FlinkPulsarSink<>(serviceUrl, adminUrl,
Optional.of("my-topic4"), properties, new PulsarPrimitiveSchema<>(String.class));
dataStreamSource.addSink(flinkPulsarSink);
//执行job
env.execute("my job");
}
}