2017-10-29 11 views
0

질문 1 : 여러 센서 [예를 들어 8 센서]의 데이터를 통합해야하는 경우 시나리오를 진행하고 있습니다. 그들을 나무 형태로 합치십시오. 예를 들어 [s1, s2, s3 s4]를 결합하여 스트림 A를 만들고 [s5, s6, s7 및 s8]을 만들어 스트림 B를 만든 다음 스트림 A와 B에서 CEP를 수행합니다. 어떻게 할 수 있습니까?Flink에서 2 개 이상의 스트림에 합류하고 합류하지 않고 2 개 이상의 스트림에 CEP를 적용하십시오.

질문 # 2 : 여러 스트림에서 CEP를 수행 할 수 있습니까? 하나 이상의 스트림을 의미합니까? 그것은 분명 flink 1.3.2 API에서 언급 한 패턴이 하나 개 이상의 스트림에 적용 할 수없는 경우 그 패턴은 하나 개의 스트림

DataStream<Event> input = ... 
Pattern<Event, ?> pattern = ... 

PatternStream<Event> patternStream = CEP.pattern(input, pattern); 

에 적용됩니다, 그럼 어떻게 FLINK CEP는 연기 스트림을 포함 CEP의 고전적인 예와 함께 작동합니다온도계화재가 발생할 때 경고를 생성합니다..

  • 유일한 해결책은 같은 몇 가지 주요 타임 스탬프를 기반으로 모두 연기와 임시 스트림입니다 합류 하는가?

  • 그런 다음 여러 센서가 관련된 IOT의 광범위한 사용 사례에 Flink를 어떻게 적용 할 수 있습니까?

답변

1

이것은 센서에서 데이터를 읽는 방법에 따라 다르며 데이터가 다른 카프카 항목에 도착하면 2 개의 플 링크 작업을 생성 할 수 있습니다.

작업 1 - 센서 항목 s1, s2, s3, s4를 읽고 s5, s6, s7, s8에서 다른 kafkaconsumer를 읽고 스트림 B를 만듭니다. 그런 다음이 두 스트림에서 데이터를 푸시합니다. 2 중간 항목 -> streamA, streamB

작업 2 - 이제 작업 2는 kafka 항목 streamA와 streamB를 함께 읽고 단일 데이터 스트림을 만듭니다.

는 이 정확한 결과를 얻기를 위해,이 작업을 수행 할 때, 당신은 당신의 센서 데이터의 이벤트 시간에 의존한다는 것을 염두에하지 섭취 시간이나 처리 시간에 보관하십시오. Process multiple streams in Flink CEP

-이 이전 질문에서 볼 수

2 스트림에 합류 한 후, CEP를 실행하는 것은 정말 어려운 일이 아니다