[spark] 아파치 스파크
아파치 스파크
실시간 분산형 컴퓨팅 프로젝트이다.
스트림 지향형 프로세스를 지원한다. 기존 하둡 클러스터에서 실행시킬 수 있다.
스칼라로 작성이 되어 있지만, 스칼라, 자바, 파이선 API를 지원한다.
In-Memory 방식으로 처리를 하기 때문에 하둡에 비해 처리속도가 빠르다.
하둡에 비해 100배정도 빠르다고 한다.
예제 코드
# /spark/bin/pyspark 를 실행후 콘솔에서 입력 # README.md 파일은 hdfs 상에 업로드 되어 있어야 함 # hdfs://user/name/README.md 에 위치 # README.md 파일을 입력하여 라인 카운트 확인 lines = sc.textFile("README.md") print lines.count() # README.md 파일의 문장을 공백으로 분리하고 # 단어를 MapReduce 를 거쳐서 확인한다. for line in sc.textFile("README.md").flatMap(lambda l : l.split(" ")).map(lambda word : (word, 1)).reduceByKey(lambda a, b: a + b).collect(): print line고
참고
https://spark.apache.org/docs/latest/quick-start.html
https://spark.apache.org/docs/latest/programming-guide.html
VCNC가 Hadoop대신 Spark를 선택한 이유 - http://engineering.vcnc.co.kr/2015/05/data-analysis-with-spark/
Spark + S3 + R3 을 이용한 데이터 분석 시스템 만들기 - https://speakerdeck.com/vcnc/spark-plus-s3-plus-r3-eul-iyonghan-deiteo-bunseog-siseutem-mandeulgi
데이터 분석을 위한 Scala - https://speakerdeck.com/vcnc/deiteo-bunseogeul-wihan-scala