final StreamExecutionEnvironment env = StreamExecutionEnvironment .getExecutionEnvironment(); JSONKeyValueDeserializationSchema schema = new JSONKeyValueDeserializationSchema(true); FlinkKafkaConsumer<String> myConsumer = new FlinkKafkaConsumer<>("migration_topic", new SimpleStringSchema(), props); // myConsumer.assignTimestampsAndWatermarks(new CustomWatermarkEmitter()); DataStream<String> stream = env .addSource(myConsumer); DataStream<Shop> afterMap = stream .map(new MapFunction<String, Shop>() { private static final long serialVersionUID = -6867736771747690202L; @Override public Shop map(String value) throws Exception { return JSON.parseObject(value, Shop.class); } }) .filter(new FilterFunction<Shop>() { @Override public boolean filter(Shop shop) throws Exception { if (shop == null || shop.getShopForm() == null) { return false; } return true; } }) // .keyBy(new KeySelector<Shop, String>() { // @Override // public String getKey(Shop shopInput) throws Exception { // if (shopInput == null) { // return ""; // } // String shopForm = shopInput.getShopForm(); // return shopForm == null ? shopInput.getShopForm() : ""; // } // }) // .reduce(new ReduceFunction<Shop>(){ // public Shop reduce(Shop var1, Shop var2) throws Exception{ // StringBuilder stringBuilder = new StringBuilder(); // stringBuilder.append(var1.getShopName()); // stringBuilder.append(":"); // stringBuilder.append(var2.getShopName()); // // var1.setShopName(stringBuilder.toString()); // return var1; // } // }) // .map(new MapFunction<Shop,Tuple2<String,String>>(){ // @Override // public Tuple2<String,String> map(Shop value) throws Exception { // return new Tuple2<>(value.getShopForm(),value.getShopName()); // } // }) ; afterMap.print();
申请了flink jira的账号,向dev邮件组发送了邮件,成为 contributor