Apache Spark 는 그것의 건축의 기초에서 탄력 분포 데이터 집합(RDD),읽기 전용 multiset 의 데이터 항목에 분산 시스템의 클러스터,유지관리하는에 결함 관대한 방법입니다. Dataframe API 는 Rdd 위에 추상화로 릴리스되었으며 Dataset API 가 뒤 따릅니다. 스파크 1 에서.x,RDD 는 기본 응용 프로그램 프로그래밍 인터페이스(API)였지만 Spark2 와 같습니다.x Rdd API 가 더 이상 사용되지 않더라도 Dataset API 를 사용하는 것이 좋습니다. RDD 기술은 여전히 데이터 세트 API 의 기초가됩니다.,
스파크 및 rdd 내에서 개발되었고 2012 년에서 응답을 제한 MapReduce 클러스터 컴퓨팅 패러다임을 강제하는 특정 선형 데이터 흐름에 구조를 분산 프로그램:MapReduce 프로그램을 읽을 입력된 데이터에서 디스크 매핑 기능을 통해 데이터를 줄이고,결과 지도,그리고 저장소 감소에서 결과를 디스크에 있습니다. Spark 의 RDDs 는(의도적으로)제한된 형태의 분산 공유 메모리를 제공하는 분산 프로그램의 작업 세트로 작동합니다.,
스파크의 구현을 용이하게 모두 반복적인 알고리즘,방문하는 그들의 데이트에서 여러 번 반복,그리고 상호 작용하는/예비 데이터 분석,즉,반복적인 데이터베이스 스타일의를 쿼리하는 데이터이다. 이러한 응용 프로그램의 대기 시간은 Apache Hadoop MapReduce 구현에 비해 몇 가지 크기의 순서로 줄어들 수 있습니다.중 클래스의 반복적인 알고리즘은 훈련 알고리즘에 대한 기계 학습 시스템을 형성된 초기 자극 개발을 위해 아파치는 불꽃이 있습니다.
Apache Spark 에는 클러스터 관리자와 분산 스토리지 시스템이 필요합니다., 클러스터에 대한 관리,불꽃을 지원하는 독립(네이티브 스파크 클러스터는,당신을 시작할 수 있습니다 클러스터를 수동으로 또는 사용 실행 스크립트에서 제공하지 않습니다. 테스트를 위해 단일 시스템에서 이러한 데몬을 실행할 수도 있음),Hadoop YARN,Apache Mesos 또는 Kubernetes. 에 대한 배관,점화할 수 있는 인터페이스를 포함한 다양한 종류 Alluxio,Hadoop 산 파일 시스템(HDFS),에 담았(파일 시스템에 담았-FS),카산드라,OpenStack Swift,S3,Kudu,광택한 파일 시스템,또는 사용자 지정 솔루션을 구현할 수 있습니다., 불꽃 또한 지원합니 의사 분산 로드,일반적으로만 사용에 대한 개발이나 테스트용으로,어디에 분산 스토리지가 필요하지 않으며 지역 파일 시스템을 대신 사용할 수 있습니다;그런 시나리오,스파크에서 실행되는 하나의 기기로 하나의 집행 당 CPU core.
Spark CoreEdit
Spark Core 는 전체 프로젝트의 기초입니다. 그것은 응용 프로그램 프로그래밍 인터페이스를 통해 노출 분산 작업 디스패치,스케줄링 및 기본 I/O 기능을 제공합니다(자바,파이썬,스칼라,.,NET 및 R)은 RDD 추상화를 중심으로합니다(Java API 는 다른 JVM 언어에서는 사용할 수 있지만 Julia 와 같은 JVM 에 연결할 수있는 다른 비 JVM 언어에서도 사용할 수 있습니다). 이 인터페이스는 미러링 기능/높은 순서 모델의 프로그래밍:”드라이버”프로그램를 호출합 병렬과 같은 작업을 지도,여과기 또는 감소에 RDD 에 의해 전달하는 기능을 스파크는 다음 일정 기능의 실행에서 병렬에서 클러스터입니다. 이러한 작업 및 조인과 같은 추가 작업은 rdd 를 입력으로 가져 와서 새로운 Rdd 를 생성합니다., Rdd 내는 변경할 수 없고 그들의 작업은 게으른 장애-성을 추적하는”계보를”각각의 RDD(시퀀스는 작업의 생산)할 수 있도록 재구성의 경우에 데이터의 손실이다. RDDs 에는 모든 유형의 Python,.NET,Java 또는 Scala 객체가 포함될 수 있습니다.
외 RDD 중심 기능적인 스타일의 프로그래밍,스파크에서 제공하는 두 가지 제한 형태의 공유 변수:방송 변수를 참조 데이터를 읽기 전용될 필요가 있는 사용할 수 있는 모든 노드에서는 동안 어큐뮬레이터에 사용할 수 있습 프로그램을 감소에서 필수적인 스타일입니다.,
의 전형적인 예 RDD 중심의 프로그래밍 기능은 다음과 같은 스칼라 프로그램을 계산하는 주파수의 모든 단어에서 발생하는 설정 텍스트 파일과 인쇄물이 가장 일반적입니다. 각 지도,flatMap(의 변형도)및 reduceByKey 는 익명의 기능을 수행하는 간단한 동작에 하나의 데이터 항목(또는 한 쌍의 항목),그리고 적용한 인수하도록 변환 RDD 으로 새로운 RDD.,
스파크 SQLEdit
스파크 SQL 구성 요소에 최고 불꽃의 핵심된 데이터를 추상화라는 DataFrames 에 대한 지원을 제공하는 구조와 반 구조화된 데이터입니다. Spark SQL 은 Scala,Java,Python 또는.NET 에서 데이터 프레임을 조작 할 수있는 도메인 별 언어(DSL)를 제공합니다.또한 명령 줄 인터페이스 및 ODBC/JDBC 서버와 함께 SQL 언어 지원을 제공합니다. 데이터 프레임은 Rdds 가 제공하는 컴파일 타임 유형 검사가 부족하지만 Spark2.0 으로 강력하게 형식화 된 데이터 세트는 Spark SQL 에서도 완벽하게 지원됩니다.,
Spark StreamingEdit
Spark Streaming 은 Spark Core 의 빠른 스케줄링 기능을 사용하여 스트리밍 분석을 수행합니다. 미니 배치에서 데이터를 수집하고 해당 미니 배치에서 rdd 변환을 수행합니다. 이 디자인으로 동일한 설정 응용 프로그램의 코드 작성된 배치 분석에 사용되는 스트리밍 분석,그리고 지 쉽게 구현 lambda 공합니다. 그러나이 편의는 미니 배치 기간과 동일한 대기 시간의 벌금과 함께 제공됩니다., 미니 배치가 아닌 이벤트별로 이벤트를 처리하는 다른 스트리밍 데이터 엔진에는 Storm 과 Flink 의 스트리밍 구성 요소가 포함됩니다. Spark Streaming 에는 kafka,Flume,Twitter,ZeroMQ,Kinesis 및 TCP/IP 소켓에서 소비 할 수있는 지원이 내장되어 있습니다.스파크 2 에서
.구조화 된 스트리밍이라고하는 데이터 세트를 기반으로하는 별도의 기술인 x 는 스트리밍을 지원하기 위해 더 높은 수준의 인터페이스도 제공됩니다.
Spark 는 클라우드뿐만 아니라 전통적인 온 프레미스 데이터 센터에 배포 할 수 있습니다.,
MLlib 기계 학습 LibraryEdit
스파크 MLlib 데이터베이스 기계 학습 프레임워크에서 최고의 불꽃을 핵심으로 인해서 큰 부분을 분산 메모리 기반의 스파크,리이만큼 아홉 번으로 빠른 속도로 디스크-기반 구현을 사용하여 아파치를 부리는 사람(에 따라 벤치마크에 의해 수행 MLlib 개발자에 대한 교류도 사각형(ALS)구현 및 전에 부리는 사람 자체를 얻 스파크 인터페이스), 와 비늘보다 더 나은능이 들어., 그라데이션-밀어 트리
GraphXEdit
GraphX 데이터베이스 그래프 처리 프레임워크의 상단에 아파치는 불꽃이 있습니다., 를 기반으로 하고 있기 때문에 http 요청에 대한 http 응답 수신,불변,그래프를 변경할 수 없으며 따라서 GraphX 에 적합하지 않는 그래프가 업데이트할 필요가자에 트랜잭션으로 같은 데이터베이스 그래프. GraphX 는 대규모 병렬 알고리즘(예:PageRank)구현을위한 두 개의 별도 Api 인 Pregel 추상화 및보다 일반적인 MapReduce 스타일 API 를 제공합니다. 그 이전과는 달리 베이글,는 공식적으로 사용되지 않는 불꽃에서 1.6,GraphX 원한 속성 그래프(그래프는 속성을 첨부할 수 있는 가장자리 및 꼭지점).,
GraphX 는 Hadoop 디스크 기반 MapReduce 를 활용 한 Apache Giraph 의 Spark in-memory 버전 인 것으로 볼 수 있습니다.
Apache Spark 와 마찬가지로 GraphX 는 처음에 UC Berkeley 의 AMPLab 및 Databricks 에서 연구 프로젝트로 시작했으며 나중에 Apache Software Foundation 과 Spark 프로젝트에 기부되었습니다.언어 지원
Leave a Reply