Storm에서 Trident를 처음 사용했습니다. 나는 TridentState 이상으로 머리를 부러 뜨린다. 나의 이해 트라이던트가 각 배치 (즉, 배치의 모든 튜플이 데이터베이스의 트랜잭션 ID를 유지함으로써 완전히 처리되었는지 여부)에 대한 상태 (즉, 메타 데이터)를 유지하고 다음 문장이하는 것을 완전히 확신하지 못한다. TridentState url
스파우트를 통해 하나의 데이터베이스에서 데이터를 가져 와서 트라이던트를 사용하여 다른 데이터베이스에 데이터를 저장하고 싶습니다. 폭풍과 트라이던트를 처음 사용했습니다. 그리고 그것을 구현하는 방법을 잘 모르겠습니다. 스파우트 (트라이던트에 의해 지원되는 IRichSpout 구현하는 별도의 Java 클래스) 데이터베이스에서 데이터를 얻고 개체로 내 보낸다.
this 및 this을 읽은 후 트라이던트 토폴로지 구성 방법을 이해하는 데 어려움이 있습니다. 기본적으로 폭풍우 응용 프로그램은 kafka에서 읽으며 일부 데이터 조작을 수행하고 마지막으로 Cassandra에 기록합니다. private static StormTopology buildTopology() {
// connection to kafka
ZkH
[int id, int value]로 구성된 들어오는 튜플의 평균을 Storm으로 계산하고 싶습니다. 볼 수 있듯이 필자는 필드 그룹을 사용하여 데이터를 분할 할 수 없습니다. 이 계산을 배포하려면 토폴로지 아키텍처가 필요하며 각 볼트 인스턴스 내에서 미니 배치를 수행하고 집계하는 유일한 방법이 필요합니다. 트라이던트가 폭풍 내에서 미니 배치 처리를 수행하
로컬 모드에서 실행할 때 단일 토폴로지를 실행하는 폭풍우 애플리케이션이 정상적으로 작동하지만 분산 환경에서 실행할 때 이러한 예외는 작업자 로그에서 발생합니다. 동일한 예외이지만 2 개의 다른 클래스를 참조합니다. java.lang.RuntimeException: java.io.InvalidClassException: storm.trident.topolog