2016-07-11 4 views
0

spark 응용 프로그램 코드가 변경되면 Spark Streaming 검사 점이 작동하지 않습니다 ... 따라서 상태 정보를 cassandra와 같은 외부 DB에 명시 적으로 저장하려고합니다.Spark Streaming 상태를 외부 DB에 저장

외부 DB 또는 디스크로 스파크 스트리밍 상태를 주기적으로 플러시하려면 어떻게해야합니까? 나는 모든 주 RDD 정보를 읽고 DB/디스크에 기록하는 법을 모른다. 누군가 자바 예제를 줄 수 있습니까?

+0

외부 DB 또는 디스크로 스파크 스트리밍 상태 데이터 (출력 데이터 아님)를 주기적으로 플래쉬하는 방법이 있습니까? 매 12 시간마다 알려 주실 수 있습니까? – vanba06

답변

0

Spark의 DataSources API 문서는 상태 저장에 유용 할 수 있습니다. Java 예제가 들어 있습니다.

또한 스파크와 함께 사용할 수있는 많은 상점이 있습니다.

+0

당신이 지적한 문서는 Spark Streaming OUTPUT 데이터를 SPARK STREAMING STATE 데이터가 아닌 외부 데이터 소스에 저장하는 것입니다. 스파크 스트리밍 상태를 외부 DB 또는 디스크로 주기적으로 플러시하는 방법은 매 12 시간마다 말합니까? – vanba06

+0

나는 당신이 말하는 데이터를 출력하는 것과 플러싱하는 데이터 사이에 어떤 차이가 있는지 정확히 알지 못합니다. 예를 들어 [cassandra의 문서] (https://github.com/datastax/spark-cassandra-connector/blob/master/doc/8_streaming.md)를 보면 배치 및 스트리밍 사례 모두에서 .saveToCassandra를 사용하고 나는이 함수가 단지 밑에있는 datasources API를 사용하고 있음을 확신한다. – plambre

+0

Plambre, 답장을 보내 주셔서 감사합니다 ... 알고 계시 겠지만 SPARK는 상태 기반 이벤트 처리를 수행 할 수 있습니다. 다음은 단순화 된 유스 케이스입니다. 고객 ID, 현재 위치 (위도, 경도 좌표)가있는 이벤트 스트림이 있습니다. 각 이벤트를 처리하고 고객의 현재 위치가 이전에 방문한 위치 중 하나인지 확인하십시오. 그렇지 않으면 Alert (CustomerID, LOCATION_ANAMOLY)를 출력하십시오. – vanba06

관련 문제