νμ ν¨ν€μ§
JDK 1.8 version μ΄μ
Install Guide
# First install Java
sudo yum -y update
sudo yum install java-1.8.0-openjdk.x86_64
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk
# Should be something like: OpenJDK Runtime Environment (build 1.8.0_161-b14)
java -version
Scala 2.12.4 version μ΄μ
Install Guide
# We'll use wget to download some of the artifacts that need to be installed
sudo yum install wget
# Then install Scala
wget <https://downloads.lightbend.com/scala/2.12.4/scala-2.12.4.rpm>
sudo yum install scala-2.12.4.rpm
# Should be something like: Scala code runner version 2.12.4 -- Copyright 2002-2017, LAMP/EPFL and Lightbend, Inc.
scala -version
Spark μ€μΉ
Install Guide
# Then download Spark
wget <https://archive.apache.org/dist/spark/spark-2.2.1/spark-2.2.1-bin-hadoop2.7.tgz>
tar xvf spark-2.2.1-bin-hadoop2.7.tgz
export SPARK_HOME=$HOME/spark-2.2.1-bin-hadoop2.7
export PATH=$PATH:$SPARK_HOME/bin
# Start a Spark master
cd $SPARK_HOME
./sbin/start-master.sh
Apache Spark is a lightning-fast unified analytics engine for big data and machine learning. (μνμΉ μ€νν¬λ λΉμ²λΌ λΉ λ₯Έ ν΅ν©λ λΆμ μμ§μ΄λ€. λΉ λ°μ΄ν° λΆμκ³Ό λ¨Έμ λ¬λμ μν΄μ)
ν΅ν© μ»΄ν¨ν μμ§μ΄λ©° ν΄λ¬μ€ν° νκ²½μμ λ°μ΄ν°λ₯Ό λ³λ ¬λ‘ μ²λ¦¬νλ λΌμ΄λΈλ¬λ¦¬ μ§ν©
"λΉ λ°μ΄ν°λ₯Ό μν ν΅ν© μ»΄ν¨ν μμ§κ³Ό λΌμ΄λΈλ¬λ¦¬ μ§ν©"
1.2.1 ν΅ν©(Unified)
μ€νν¬λ 'λΉ λ°μ΄ν° μ ν리μΌμ΄μ κ°λ°μ νμν ν΅ν© νλ«νΌμ μ 곡νμ'λ ν΅μ¬ λͺ©νλ₯Ό κ°μ§κ³ μλ€. κ·Έλ λ€λ©΄ ν΅ν©(Unified)μ΄λ μλ―Έλ 무μμΌκΉ? μ€νν¬λ κ°λ¨ν λ°μ΄ν° μμ§λΆν° SQLμ²λ¦¬, λ¨Έμ λ¬λ κ·Έλ¦¬κ³ μ€νΈλ¦Ό(Stream) μ²λ¦¬μ μ΄λ₯΄κΈ°κΉμ§ λ€μν λ°μ΄ν° λΆμ μμ μ λμΌ μ°μ° μμ§κ³Ό μΌκ΄μ± μλ APIλ‘ μνν μ μλ€.
μΌκ΄μ± μλ μ‘°ν©ν APIλ₯Ό μ 곡νλ―λ‘ μμ μ½λ μ‘°κ°μ΄λ κΈ°μ‘΄ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ΄μ©ν΄μ κ°λ¨νκ² μ ν리μΌμ΄μ μ λ§λ€ μ μλ€. μ‘°ν©ν APIμΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ€λ©΄, μ§μ μ€νν¬ κΈ°λ°μ λΌμ΄λΈλ¬λ¦¬λ₯Ό λ§λ€ μ λ μλ€.
1.2.2 μ»΄ν¨ν μμ§(Clustering)
μ€νν¬λ μ μ₯μ μμ€ν μ λ°μ΄ν°λ₯Ό μ°μ°νλ μν λ§ μνν λΏ μꡬ μ μ₯μ μν μ μννμ§ μλλ€.(μ΄ λΆλΆμ΄ νλ‘κ³Ό ν° μ°¨μ΄μ μ κ°μ§κ³ μλ€.) κ·Έλμ μ€νν¬λ λ€μν μ μ₯μμ 컨ν (connect)ν μ μλ λΌμ΄λΈλ¬λ¦¬λ₯Ό μ 곡νλ€.
μ€νν¬λ λ΄λΆμ λ°μ΄ν°λ₯Ό μ€λ μκ° μ μ₯νμ§ μμΌλ©° νΉμ μ μ₯μ μμ€ν μ μ νΈνμ§ μλλ€. λ°μ΄ν° μ΄λμ λμ λΉμ©μ μ λ°νκΈ° λλ¬Έμ μ€νν¬λ λ°μ΄ν° μ μ₯ μμΉμ μκ΄ μμ΄ μ²λ¦¬μ μ§μ€νλλ‘ λ§λ€μ΄ μ‘λ€.
1.2.3 λΌμ΄λΈλ¬λ¦¬(Library)
μ€νν¬κ° μΈμμμ λνλκ³ μ€νν¬ μ½μ΄λ μ΄μ°½κΈ°μ λΉκ΅νμ λ λ§μ λ³νμ μμλ€. νμ§λ§ λ΄λΆμ μΌλ‘ λ§μ λΌμ΄λΈλ¬λ¦¬λ€μ΄ μκ²Όλκ³ , λν μΈλΆμμ μλνν°νλ‘μ νΈλ₯Ό ν΅ν΄μ λ§μ λΌμ΄λΈλ¬λ¦¬λ€ νμνλ€. κ·Έ μλ‘ μ€νν¬SQL, λ¨Έμ λ¬λ νλ‘μΈμ€λ₯Ό μ§μνλ MiLab λ± λ§μ λΌμ΄λΈλ¬λ¦¬λ€μ΄ μ‘΄μ¬νλ€.
ν΄λ¬μ€ν°μμ μμ (Job)μ μ‘°μ¨ ν΄μ£Όλ μν μ νλ νλ μμν¬. μ€νν¬λ ν΄λ¬μ€ν°μ λ°μ΄ν° μ²λ¦¬ μμ μ κ΄λ¦¬νκ³ μ‘°μ¨νλ€. μ€νν¬κ° μ°μ°μ μ¬μ©νλ ν΄λ¬μ€ν°λ μ€νν¬ μ€ν λμΌλ‘ , νλ‘μ YARN, λ©μμ€(Mecos) κ°μ ν΄λ¬μ€νΈ 맀λμ Έμμ κ΄λ¦¬νλ€. μ¬μ©μλ ν΄λ¬μ€νΈ 맀λμ Έμκ² μ€νν¬ μ ν리μΌμ΄μ μ μ μΆ(submit)νλ€. μ΄λ₯Ό μ μΆλ°μ ν΄λ¬μ€ν° 맀λμ Έλ μ νμΌμ΄μ μ€νμ νμν μμμ ν λΉνλ©° μ°λ¦¬λ ν λΉλ°μ μμμΌλ‘ μμ μ μ²λ¦¬νλ€.
μ€νν¬ μ ν리μΌμ΄μ μ νλμ λλΌμ΄λ²(Driver) νλ‘μΈμ€μ λ€μμ μ΅μ€νν°(Executoer) νλ‘μΈμ€λ‘ ꡬμ±μ μ΄λ£¬λ€.