Apache Spark의 몇 가지 경쟁자는 무엇입니까?


최상의 답변

프레임 워크 전체와 관련된 사항 : 현재 Apache Spark는 경쟁자보다 한 발 앞서 있습니다. , 다양하고 매우 유용한 도구 (Spark SQL 및 MLlib 두 가지)의 구현 (및 통합) 및 RDD에 중간 데이터를 저장할 수있는 기능과 같은 일부 특성으로 인해. 이러한 동기로 인해 많은 개발자들이 여기에 집중하고 있으며, 제 생각에는 기반 기술의 새로운 돌파구가 나올 때까지 경쟁자는 무시할 수있을 것입니다.

다르게, 단일 구현을 고려한다면 Apache Spark에서 일부 경쟁자를 식별 할 수 있습니다. H2O는 Spark MLlib의 도전자이고, Storm (Joe가 지적했습니다)은 Spark 스트리밍의 대안이며 Spark SQL과 비교할 수있는 SQL과 유사한 여러 엔진이 있습니다. .

답변

다음은 내가 사용할 Apache Spark의 JARGONS입니다.

작업 :-HDFS 또는 로컬에서 일부 입력을 읽고 데이터에 대해 일부 계산을 수행하고 일부 출력 데이터를 쓰는 코드 조각입니다.

단계 :-작업은 여러 단계로 나뉩니다. . 단계는 맵 또는 축소 단계로 분류됩니다 (Hadoop에서 작업 한 적이 있고 상관 관계를 원하는 경우 이해하기 더 쉽습니다). 단계는 계산 경계에 따라 분할되며 모든 계산 (연산자)을 단일 단계에서 업데이트 할 수 없습니다. 여러 단계에서 발생합니다.

작업 :-각 단계에는 파티션 당 하나의 작업으로 몇 가지 작업이 있습니다. 하나의 작업이 하나의 실행기 (머신)에있는 데이터의 한 파티션에서 실행됩니다.

DAG-DAG는 Directed Acyclic Graph를 나타내며 현재 컨텍스트에서는 연산자의 DAG입니다.

Executor -작업 실행을 담당하는 프로세스

드라이버-Spark 엔진을 통해 작업을 실행하는 프로그램 / 프로세스

마스터-드라이버 프로그램이 실행되는 시스템

드라이버- p>

Slave-Executor 프로그램이 실행되는 시스템

Spark의 모든 작업은 일련의 연산자로 구성되며 데이터 집합에서 실행됩니다. 작업의 모든 연산자는 DAG (Directed Acyclic Graph)를 구성하는 데 사용됩니다. DAG는 가능한 경우 연산자를 재 배열하고 결합하여 최적화됩니다. 예를 들어 맵 작업과 필터 작업이 포함 된 Spark 작업을 제출해야한다고 가정 해 보겠습니다. Spark DAG 최적화 프로그램은 필터링이 맵 작업을 수행 할 레코드 수를 줄이므로 이러한 연산자의 순서를 다시 정렬합니다.

Spark는 작은 코드베이스를 가지고 있으며 시스템은 다양한 계층으로 나뉩니다. 각 계층에는 몇 가지 책임이 있습니다. 레이어는 서로 독립적입니다.

  1. 첫 번째 레이어는 interpreter 는 약간 수정 된 Scala 인터프리터를 사용합니다.
  2. Spark 콘솔에 코드를 입력 할 때 (RDD 생성 및 연산자 적용) ), Spark는 연산자 그래프를 생성합니다.
  3. 사용자가 작업 (예 : collect)을 실행하면 Graph가 DAG 스케줄러에 제출됩니다. DAG 스케줄러 연산자 그래프를 (맵핑 및 축소) 단계로 나눕니다.
  4. 단계는 입력 데이터의 파티션을 기반으로하는 작업으로 구성됩니다. DAG 스케줄러는 그래프를 최적화하기 위해 연산자를 함께 파이프 라인합니다. 지도 운영자는 단일 단계로 예약 할 수 있습니다.이 최적화는 Sparks 성능의 핵심입니다. DAG 스케줄러의 최종 결과는 일련의 단계입니다.
  5. 단계는 작업 스케줄러 . 작업 스케줄러는 클러스터 관리자 . (Spark Standalone / Yarn / Mesos). 작업 스케줄러는 “스테이지 간의 종속성에 대해 알지 못합니다.
  6. Worker 는 슬레이브에서 작업을 실행합니다. 새 JVM이 시작됩니다. 작업. 작업자는 전달 된 코드에 대해서만 알고 있습니다.

Spark는 처리 할 데이터를 캐시하여 hadoop보다 100 배 더 빠르게 처리 할 수 ​​있습니다. Spark는 멀티 스레딩에 Akka를 사용합니다. 실행기 상태 관리, 작업 예약. Jetty를 사용하여 파일 (Jars 및 기타 파일) 공유, Http 브로드 캐스트, Spark Web UI 실행. Spark는 고도로 구성 가능하며 Hadoop Eco-System에 이미 존재하는 기존 구성 요소를 활용할 수 있습니다. 이로 인해 Spark가 기하 급수적으로 성장할 수 있었고, 얼마 안있어 많은 조직에서 이미 프로덕션에서 사용하고 있습니다.

다음을 살펴볼 수 있습니다.

를 사용하여 더 자세히 이해합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다