var mıdır bilen?

Konuyu çzdüm. Belki lazım olan olur diye aşağıda bir rnek paylaşıyorum. rnekler mevcut birçok sitede fakat json ile işlem yapan rnek bulmak bira sıkıntı. Kafka serverına gelen jsonlar içerisinde EventType Click olan ve nceki gelen datalar ile o anki data üzerindeki quantity toplam değeri 100 den fazla olan kayıt için alert oluşturuyoruz. burada alert oluşuyor. package Teydeb. cep_kafka; import com. fasterxml. jackson. databind. ObjectMapper; import com. fasterxml. jackson. databind. node. ObjectNode; import org. apache. flink. cep. CEP; import org. apache. flink. cep. PatternSelectFunction; import org. apache. flink. cep. PatternStream; import org. apache. flink. cep. pattern. Pattern; import org. apache. flink. core. fs. FileSystem; import org. apache. flink. streaming. api. datastream. DataStream; import org. apache. flink. streaming. api. environment. StreamExecutionEnvironment; import org. apache. flink. streaming. connectors. kafka. FlinkKafkaConsumer010; import org. apache. flink. streaming. util. serialization. JSONDeserializationSchema; import util. ; import java. util. List; import java. util. Map; import java. util. Properties; import java. util. logging. Level; import java. util. logging. Logger; public class MainClass { public static void main throws Exception { try { Logger. getLogger . setLevel ; Logger. getLogger . setLevel ; ObjectMapper mapper = new ObjectMapper ; Properties properties = new Properties ; properties. setProperty("zookeeper. connect", "localhost:2181"); properties. setProperty("bootstrap. servers", "localhost:9092"); StreamExecutionEnvironment env = StreamExecutionEnvironment. getExecutionEnvironment ; env. enableCheckpointing(1000); FlinkKafkaConsumer010<ObjectNode> myConsumer = new FlinkKafkaConsumer010<>("demo", new JSONDeserializationSchema , properties); DataStream<ObjectNode> dataStream = env. addSource ; Pattern<ObjectNode, ?> alarmPattern = Pattern.<ObjectNode> begin . oneOrMore . where(new IterativeCondition<ObjectNode> { @Override public boolean filter throws Exception }. followedBy . where(new IterativeCondition<ObjectNode> { @Override public boolean filter throws Exception { jsonValue = new BigDecimal(jsonNodes. get . asText ; value = new BigDecimal("300"); for (ObjectNode node : context. getEventsForPattern afterCriteria = jsonValue.compareTo > 0; return afterCriteria; } }). times(1); PatternStream<ObjectNode> patternStream = CEP. pattern ; DataStream<ObjectNode> alarms alarms = patternStream. select(new PatternSelectFunction<ObjectNode, ObjectNode> { @Override public ObjectNode select throws Exception }); env. execute ; } } catch } } kajmerpac tarafından 10/Kas/17 14:13 tarihinde düzenlenmiştir

merhaba, uzun zamandır foruma girmiyordum. İş değişikliği yaptım bundan sonra düzenli takip edebilirim. Bir konuda çok sıkıştım bilgisi olan var ise yardım edebilir mi? Java da flink complex event processing ile akan datalar üzerinde kriterlere uyan dataları çekmek istiyorum. elimde karışık bir pattern olacak. Patterni oluşturmada takıldım yardımcı olabilecek var mı? Bişeyler yaptım ama çalışmıyor Pattern<ObjectNode, ?> alarmPattern = Pattern.<ObjectNode>begin . where(new IterativeCondition<ObjectNode> { @Override public boolean filter throws Exception { for (Criterias criterias : rules. getCriteriaList { if (criterias. getCriteriaType . equals else if (criterias. getCriteriaType . equals { if (! jsonNodes. get(criterias. getPropName . equals(criterias. getCriteriaValue int count = 0; for (ObjectNode node : context. getEventsForPattern return Integer.compare(count, 5) > 0; } else if (criterias. getCriteriaType . equals { if (! jsonNodes. get(criterias. getPropName . equals(criterias. getCriteriaValue int count = 0; for (ObjectNode node : context. getEventsForPattern return Integer.compare(count, 5) < 0; } } return false; } }). times(rules. getRuleCount ;