안녕하세요 저는 Spark가 Kafka에서 들어오는 데이터를 처리하여 해적판 검색에 StreamingKMeans를 적용 할 수있는 배포를 계획하고 있습니다.spark가 mapWithState로 여러 KMeans를 스트리밍
그러나 Kafka 항목에서 들어오는 데이터는 다양한 KMeans 모델 (주)을 필요로하는 다양한 데이터 구조를 정의하는 다양한 소스에서 도착합니다. 따라서 들어오는 개별 RDD의 모든 항목은 "키"필드 (기본적으로 단일 이벤트 처리가 필요함)를 기반으로 자체 KMeans 모델을 통과해야합니다.
Spark에서 이러한 유형의 처리를 수행 할 수 있습니까? 그렇다면 스파크 병렬성을 결국 사용합니까? 저는 Spark와 Scala의 초보자이고 뭔가 빠뜨린 것 같은 기분입니다.
미리 감사드립니다.
업데이트 : 현재이 문제를 해결하기 위해 보인다 mapWithState
운영자로 찾고 있어요
. 질문 : StreamingKmeans 모델을 상태에 직접 저장할 수 있습니까? 그렇지 않으면 나는 centroid를 저장하고 값 비싼 상태 업데이트 기능에 새 모델을 인스턴스화해야 할 것입니다.
감사합니다. 일반적으로이 응용 프로그램 계층에서 데이터를 가져 오는 원본에 따라 키가 예측할 수 없으며 런타임에 다른 응용 프로그램 계층에서 Kafka 원본이 추가됩니다. 제 3 자 옵션 (any?)으로 가거나 플린 크 (Flink)로 이사하는 것에 대한 귀하의 조언은 무엇입니까? 플 랭크가 내 의견으로는이 케이스에 더 적합한 것처럼 보입니다 ... – Peterdeka
어쩌면 내가 오해했을 텐데, 제 3의 파티와 함께 당신은 스파크와 친구들을 사용하지 않는다는 것을 의미합니까?! 그게 내 첫 선택 사항 이었어 ... : D – Peterdeka
나는 여기에 편향되어있다. 나는 Flink를 사용해 보았고 API 디자인이 마음에 들지 않았습니다. AFAIK는이 특별한 시나리오를 해결할 수있는 방법을 제공하지 않습니다. 나는 틀릴 수 있었다. 로컬 라이브러리에 관해서는 - 문서는 훌륭하지만 Elki는 일반적으로 괜찮습니다. – zero323