2015-01-23 5 views
2

아파치 스파크 스트리밍을 통해 Java에서 유틸리티 레이어를 작성하려고하는데 사용자가 일정 기간 동안 (스파크의 윈도우 기능 사용) 데이터를 집계 할 수 있지만 사용 가능한 모든 옵션이있는 것 같습니다. 연관 함수가 필요합니다 (두 개의 인수 사용). 그러나 한시간에 평균 온도 센서 값과 같은 일부 일반적인 사용 사례의 경우 spark API로는 불가능한 것처럼 보입니다.아파치 스파크 스트리밍에서 비 연관 집계

이러한 기능을 수행하기위한 다른 방법이 있습니까? 이를 달성하기 위해 반복적 인 대화 형 쿼리를 구현할 생각이지만 너무 느려질 것입니다.

+2

avg = sum/count 여기서 sum과 count는 연관입니다. Associativity는 작업을 병렬 처리하는 기능을 제공합니다. Spark와 같은 병렬 분산 프레임 워크에서 필요합니다. 고려중인 사례는 무엇입니까? – maasg

+1

우리의 유스 케이스는 평균 센서 데이터 (한 시간 이상)가 임계 값을 초과하면 전자 메일을 보내는 자동 경고 시스템을 갖는 것입니다. –

답변

0

통계 집계 (평균, 분산)는 실제로 연관성이 있으며 온라인으로 계산할 수 있습니다. 이 작업을 수행하는 좋은 방법은 here을 참조하십시오.

인수의 수와 관련하여 인수에 입력 한 내용의 유형을 선택하십시오. 튜플을 사용하여 여러 인수 중 하나에 중첩 할 수 있습니다.

마지막으로 updateStateByKey과 같은 상태 정보를 사용할 수도 있습니다.

관련 문제