flink 于 kafka互操作

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值