2

우리는 오픈 소스 도구로 실시간 큰 데이터 도구를 구축하고 있습니다. 당사의 주요 목표는 kafka 서버의 로그를 실시간으로 가져 와서 네트워크를 감독하고 분석하는 것입니다. 우리는 튜토리얼에서 우리 도구를 분석과 감독이라는 두 부분으로 나누어야한다는 것을 알았습니다. 감독 부분에 대한 아파치에 elasticsearch를 연결하는 방법 spark 스트리밍이나 폭풍?

enter image description here

우리는 솔루션 Elasticsearch 및 Logstash를 선택했다.

섹션 분석과 관련하여 팀과 저는 Apache Storm Streaming과 Apache Storm을 비교하여 Elasticsearch와 함께 사용합니다. Apache Storm은 진정한 실시간 데이터 처리 도구이며 Apache Spark Streaming보다 빠르지 만 Apache Spark와 같은 기계 학습 라이브러리는 제공하지 않습니다. 그래서 우리는 Apache Spark를 선택하려고합니다. 탄력적 인 웹 사이트는 Elasticsearch 데이터베이스를 Hadoop 에코 시스템에 연결하는 커넥터 ES-Hadoop이 있음을 나타냅니다. 우리는 아래 그림에서 그것을 볼 수 있습니다. enter image description here

그러나 스파크 SQL 만 있고 모든 스파크 프레임 워크 (MLlib, Spark Streaming ..)가 없으므로이 그림과 약간 혼동 스럽습니다. 우리는 몇 가지 가정을했고 우리는 두 가지 가능한 최종 아키텍처로 나왔습니다. 우리는 기술적으로 정확한지, 잘못된 방향으로 가고 있는지를 알고 싶었습니다. 아파치 스파크 스트리밍

: 아파치 폭풍 enter image description here

: enter image description here

답변

1

모두 당신의 아키텍처 다이어그램 확인합니다. 이 시나리오에서는 스파크 스트리밍이 작동하지 않습니다. Es-hadoop은 쉽게 데이터를주고받을 수있는 쉬운 액세스 API를 제공합니다. 또한 스파크 프레임 워크 (RDD) 또는 spark sql의 경우 데이터 프레임에서 데이터를 가져 오는 메소드를 제공합니다. 데이터가 프레임 워크에 있으면 모든 ml 라이브러리를 ml 또는 분석 생성 용 데이터에 적용 할 수 있습니다. 탄력성은 데이터를 스트리밍 할 수 없으므로 엄격한 의미에서의 스파크 스트리밍은 불가능합니다. 따라서 다이어그램에서 hdfs에 대한 화살표는 선택 사항이고 다음에 스트리밍을 실행하면 화살표를 제거하고 hdfs에 화살표를 삽입 할 수 있습니다. 그러나 내 관심사는 실시간으로 데이터에서 mllib algos를 실행하고 실시간 성능을 기대합니다. 일반적인 사용 사례는 온라인에서 모델 생성을 수행하고 분석을 위해 실시간으로 모델을 사용할 수 있습니다.

+0

감사합니다. Ramdev. 관심에 대해서는 스파크의 K- 의미 및 선형 회귀 알고리즘이 실시간으로 사용될 수 있음을 알았습니다. 더구나, 나는 spark SQL에 대한 관심을 정말로 잘 이해하지 못했다. 너 나 한테 설명해 줄거야? –

+0

Spark SQL의 가용성은 한번 Spark 데이터 프레임의 데이터가 간단한 SQL 문을 사용하여 쿼리 될 수 있도록하기위한 것입니다. 사용할 수 있습니다. 그러나 워크 플로우가 관계형 데이터에서 데이터를 처리하는 것을 실제로 포함하지 않는다면 Spark SQL은 사용할 도구가 아닙니다. Spark SQL은 Elastic 데이터에 액세스하는 또 하나의 방법 일뿐입니다. 대부분의 사람들은 데이터 조작을 위해 RDBMS를 사용하는 것에 익숙하기 때문입니다. – Ramdev

관련 문제