이제는 모든 산업이 IT와 융합하여
매일매일 거대한 데이터가 만들어지고 있습니다.
디지털 환경에서 생성되는 데이터는
문자와 숫자 그리고 영상 등.. 모두 포함되는데요.
이 방대한 양의 데이타를 활용하여
머신러닝 , 인공지능에도 날개를 달아줘 고속 성장을 했습니다.
현재.. 앞으로도 빅데이터 플랫폼은 스파크가 대세입니다.
■ 스파크 간단한 소개
아파치 스파크(apache spark)는
아파치 하둡과 같이 빅데이타를 처리하는 플랫폼입니다.
스파크는 자바(Java)로 개발되었으며 사용을 위해선 Java 설치되어야 됩니다.
▼ 처리속도
동일한 작업에도
하둡의 맵리듀스보다 최대 100배 빠른 속도를 자랑하고 있습니다.
▼ 다양한 개발 언어 지원
자바 , 파이썬 , 스칼라 , R 언어 지원합니다.
▼ 간단한 API로 편의성 제공
하둡의 맵리듀스 구현시
메인, 매퍼, 리듀서 3개의 클래스를 기본으로 만들어야 됩니다.
그래서 하둡에서 하나의 기능은 최소 60~70줄 이상의 코딩을 필요했다면
스파크는 10줄 정도로 끝납니다.
▼ 통합 플랫폼
하둡은 다양한 기능을 위해
여러 도구가 따로 제공되었지만 스파크는 하나로 통합했습니다.
그래서 단일 프레임워크에서
▩ 실시간 스트림 데이타 처리
▩ 일괄 처리
▩ 그래픽 알고리즘
▩ 머신 러닝
기능들을 다 수행할수 있습니다.
빅데이터 플랫폼에서 왜 스파크가 대세인 이유를 아시겠죠. ^^
이제 간단하게 설치해 볼게요.
■ 설치순서
1. 자바(JDK) 설치
2. PYTHON(파이썬) 설치
3. 아파치 스파크 다운 , 설치 , 환경설정
■ 자바(JDK)는 1.8 이상 설치해 주세요.
■ Python(파이썬) 설치
■ spark 다운로드 페이지 접속
https://spark.apache.org/downloads.html
★ Choose a Spark release : 최신버전 선택
★ Choose a package type : 하둡 최신버전 선택
만약 하둡이 이미 설치되어 있다면
Pre-built with user-provideed Apache Hadoop를 선택해주세요.
★ Download Spark : 다운로드 링크 클릭하세요.
■ 다운로드 경로를 복사
https://downloads.apache.org/spark/spark-3.0.2/spark-3.0.2-bin-hadoop3.2.tgz
■ spark 설치 디렉터리 만들기
[sidepower@localhost ~]$ mkdir spark3.0.2 [sidepower@localhost ~]$ ll 합계 0 drwxrwxr-x. 2 sidepower sidepower 6 2월 27 09:39 spark3.0.2 [sidepower@localhost ~]$ |
■ wget 이용한 spark 설치 파일 다운로드
[sidepower@localhost ~]$ cd spark3.0.2 [sidepower@localhost spark3.0.2]$ ll 합계 0 [sidepower@localhost spark3.0.2]$ wget https://downloads.apache.org/spark/spark-3.0.2/spark-3.0.2-bin-hadoop3.2.tgz --2021-02-27 09:40:36-- https://downloads.apache.org/spark/spark-3.0.2/spark-3.0.2-bin-hadoop3.2.tgz Resolving downloads.apache.org (downloads.apache.org)... 88.99.95.219, 2a01:4f8:10a:201a::2 Connecting to downloads.apache.org (downloads.apache.org)|88.99.95.219|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 224619134 (214M) [application/x-gzip] Saving to: ‘spark-3.0.2-bin-hadoop3.2.tgz’ spark-3.0.2-bin-hadoop3.2.tgz 100%[==============================================================>] 214.21M 880KB/s in 4m 8s 2021-02-27 09:44:45 (886 KB/s) - ‘spark-3.0.2-bin-hadoop3.2.tgz’ saved [224619134/224619134] [sidepower@localhost spark3.0.2]$ |
■ spark tar 풀기
[sidepower@localhost spark3.0.2]$ ll 합계 219356 -rw-rw-r--. 1 sidepower sidepower 224619134 2월 16 01:33 spark-3.0.2-bin-hadoop3.2.tgz [sidepower@localhost spark3.0.2]$ tar -xzvf spark-3.0.2-bin-hadoop3.2.tgz spark-3.0.2-bin-hadoop3.2/ spark-3.0.2-bin-hadoop3.2/R/ spark-3.0.2-bin-hadoop3.2/R/lib/ spark-3.0.2-bin-hadoop3.2/R/lib/sparkr.zip spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/ spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/worker/ spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/worker/worker.R spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/worker/daemon.R spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/tests/ spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/tests/testthat/ spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/tests/testthat/test_basic.R spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/profile/ spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/profile/shell.R spark-3.0.2-bin-hadoop3.2/R/lib/SparkR/profile/general.R .... .... spark-3.0.2-bin-hadoop3.2/jars/accessors-smart-1.2.jar spark-3.0.2-bin-hadoop3.2/jars/ST4-4.0.4.jar spark-3.0.2-bin-hadoop3.2/jars/RoaringBitmap-0.7.45.jar spark-3.0.2-bin-hadoop3.2/jars/JTransforms-3.1.jar spark-3.0.2-bin-hadoop3.2/jars/JLargeArrays-1.5.jar spark-3.0.2-bin-hadoop3.2/jars/HikariCP-2.5.1.jar spark-3.0.2-bin-hadoop3.2/RELEASE [sidepower@localhost spark3.0.2]$ [sidepower@localhost spark3.0.2]$ ll 합계 219356 drwxr-xr-x. 13 sidepower sidepower 211 2월 16 01:32 spark-3.0.2-bin-hadoop3.2 -rw-rw-r--. 1 sidepower sidepower 224619134 2월 16 01:33 spark-3.0.2-bin-hadoop3.2.tgz |
■ 디렉터리 간략하게 정리하기
① spark home 지정 설치 경로가 길어서 ln 로 경로를 줄입니다. [sidepower@localhost ~]$ ln -s /home/sidepower/spark3.0.2/spark-3.0.2-bin-hadoop3.2 spark [sidepower@localhost ~]$ ll 합계 0 lrwxrwxrwx. 1 sidepower sidepower 52 2월 28 09:24 spark -> /home/sidepower/spark3.0.2/spark-3.0.2-bin-hadoop3.2 [sidepower@localhost ~]$ pwd /home/sidepower ② spark home -> /home/sidepower/spark |
■ spark 사용을 위한 환경설정하기
① spark 환경추가 export SPARK_HOME=/home/sidepower/spark ② pythone 환경추가 export PYSPARK_PYTHON=python3 ③ profile 에 환경설정 [sidepower@localhost ~]$ vi .bash_profile # .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi export SPARK_HOME=/home/sidepower/spark export PYSPARK_PYTHON=python3 PATH=$PATH:.:$SPARK_HOME/bin # User specific environment and startup programs ④ profile 적용 [sidepower@localhost ~]$ source .bash_profile |
■ spark 설치 확인하기
① python(파이쎈) 설치 버전 확인 [sidepower@localhost ~]$ python3 --version Python 3.6.8 ② spark 설치 버전 확인 [sidepower@localhost ~]$ pyspark --version 21/02/28 10:05:34 WARN Utils: Your hostname, localhost.localdomain resolves to a loopback address: 127.0.0.1; using 10.0.2.15 instead (on interface enp0s3) 21/02/28 10:05:34 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /___/ .__/\_,_/_/ /_/\_\ version 3.0.2 /_/ Using Scala version 2.12.10, OpenJDK 64-Bit Server VM, 1.8.0_275 Branch HEAD Compiled by user centos on 2021-02-16T06:09:22Z Revision 648457905c4ea7d00e3d88048c63f360045f0714 Url https://gitbox.apache.org/repos/asf/spark.git Type --help for more information. [sidepower@localhost ~]$ |
■ spark 실행하기
[sidepower@localhost ~]$ pyspark Python 3.6.8 (default, Apr 16 2020, 01:36:27) [GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux Type "help", "copyright", "credits" or "license" for more information. 21/02/28 10:12:02 WARN Utils: Your hostname, localhost.localdomain resolves to a loopback address: 127.0.0.1; using 10.0.2.15 instead (on interface enp0s3) 21/02/28 10:12:02 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address 21/02/28 10:12:02 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties Setting default log level to "WARN". To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). Welcome to ____ __ / __/__ ___ _____/ /__ _\ \/ _ \/ _ `/ __/ '_/ /__ / .__/\_,_/_/ /_/\_\ version 3.0.2 /_/ Using Python version 3.6.8 (default, Apr 16 2020 01:36:27) SparkSession available as 'spark'. >>> >>> quit() [sidepower@localhost ~]$ |
드디어 설치가 완료되었네요. ^^
감사합니다.
'IT > CLOUD' 카테고리의 다른 글
Dockerfile 만들기 . docker image 만드는법 build commit (2) | 2023.02.25 |
---|---|
쿠버네티스 설치 없이 웹에서 구축 연습하기 . Play with Kubernetes (2) | 2022.10.09 |
Docker(도커) 개념 정리와 이미지 컨테이너 명령어 사용하기 (0) | 2021.07.21 |
[클라우드] Cloud 꼭 배워야 하는 이유 . IaaS PaaS SaaS 개념정리 (0) | 2021.07.04 |
리눅스 CentOS 8 도커 docker 설치하기 (172) | 2020.11.09 |
댓글