-
아주 좋아보이는 싸이트를 찾아서 이 야밤에 공부를 해본다 https://www.tutorialspoint.com/spark_sql/spark_sql_quick_guide.htm
스파크는..
hadoop은 spark를 구현하는 방법중 하나이며 spark는 MapReduce모델을 확장하여 대화형 쿼리 및 스트림 처리를 비롯한 다양한 유형의 계산에 효율적으로 사용,이전 글[링크]에서 알아봤듯이 in memory cluster computing방식으로 속도를 빠르게 함
http://www.itworld.co.kr/news/97026를 보고 spark와 hadoop에 대해서 더 알아봤다.
1.하둡과 스파크는 다른 일을 한다.
하둡은 근본적으로 분산 데이터 인프라스트럭처로 범용화 된 서버의 클러스트와 함께 다양한 노드에서 대량의 데이터 컬렉션 배포
스파크는 분산된 데이터 컬렉션에서 실행하는 데이터 처리 툴,하둡을 이용한 데이터 프로세싱 툴
스파크의 특징
속도 : 최대 메모리에서 100배 디스크에서 10배의 속도로 실행
여러 언어 지원 : java,scala,python언어의 api제공
고급 분석 : sql쿼리,스트리밍데이터,기계학습 및 그래프 알고리즘 지원
스파크 배치
3가지가 있다.
1.독립 실행형 (Standalone)
spark
-------
hdfs
2.hadoop yarn(hadoop 2.0)
spark
------
yarn/mesos
------
hdfs
3.MapResuce(SIMR)
-mapreduce-
l spark l
---------------
hdfs
스파크 구성요소
apache sparkcore [spark sql,spark streaming,machine learning,graphX]
spark core : 기본 실행 엔진으로 외부 스토리지 시스템에서 인 메모리 컴퓨팅 및 참조 데이터 세트를 제공
sql : schemaRdd라는 새로운 데이터 추상화를 도입하여 구조화 된 데이터와 반 구조화 된 데이터 지원
streaming : core의 빠른 스케쥴링 기능을 활용하여 스트리밍 분석을 수행 mini batch로 데이터를 수집하고 이 데이터에 대해 rdd변환 수행
MLlib : apache mahout보다 9배나 빠름
graphX: 그래프 처리 프레임 워크
RDD : 스파크의 기본적인 데이터 구조 객체의 불변 분산 컬렉션
-각 데이터 셋은 다른 노드에서 계산 될 수 있는 논리 파티션
-RDD는 사용자 정의 클래스를 포함 모든 유형의 python.java,scala 객체 포함
-공식적으로는 읽기전용 파티션 레코드 모음
아래의 두가지 방법으로 RDD를 만들 수 있음
-기존 컬렉션을 병렬화
-공유 파일 시스템,HDFS,HBase,Hadoop Input Format을 제공하는 모든 데이터 소스와 같은 외부 스토리지 시스템에서 데이터세트를 참조
spark는 mapreduce를 빠르고 효율적으로 하기위해 사용
-mapreduce는 복제,직렬화,디스크I/o때문에 데이터 공유가 느림
-HDFS read/write에 90프로이상의 시간을 소비함;
그래서 spark RDD를 사용
-Resilient Distribured Datasets 탄력있는 분산 데이터셋
-메모리 내 처리 계산을 지원
sparksql의 특징
-통합 : spark에서 구조화 된 데이터를 python,java,scala로 통합된 api로 RDD로 쿼리할 수 있음 .. 그니깐 음 sql쿼리를 쉽게할 수 있음!
-다양한 소스에서 데이터를 로드하고 쿼리할 수 있음
-JDBC,ODBC를 통해 연결
-확장성
spark sql 아키텍처
3가지 레이어로 구성되어 있음
1.언어 api : 다른 언어 와 spark sql과 호환
2.schema rdd : 스키마 RDD를 임시 테이블로 사용할 수 있으며 이 스키마 RDD를 dataframe이라고 부를 수 있음
3.data sources : parquet,json,hive,cassandra
sqlcontext class로 spqark sql의 기능을 초기화하는데 사용
'2017년 > Spark' 카테고리의 다른 글
hadoop 설치 (0) 2017.10.19 spark 예제 돌려보기 (0) 2017.10.18 HDFS와 YARN (0) 2017.10.11 스칼라를 빠르게 공부해보자 (0) 2017.09.20 spakrR과 R의 메모리 (0) 2017.09.12