테스트를 위해서 마스터 노드 하나를 띄위 사용하는 기본 설정이다.
IntelliJ 도구에서 파이썬/스칼라 환경 설정을 추가로 다룬다.
목록
- 스파크 구성
- 도구 구성
- 수행 예제 코드
스파크 구성
가. 미리 빌드된 맥용 스파크 다운로드
나. 압축 풀고 환경 설정
export SPARK_HOME=<스파크 경로>
export PATH=$SPARK_HOME/bin:$PATH
export PYSPARK_PYTHON=python3
export PYTHONPATH=$SPARK_HOME/python:$PYTHONPATH
도구 구성
스칼라
가. IntelliJ IDEA 설치
나. Plug-in으로 scala 설치
다. scala 기본 플랫폼 설정
Platform Setting -> SDKs : MacOS의 자바 플랫폼 위치 (자동 검색됨)
Platform Setting -> Global Library : 스칼라 플랫폼 컴파일러 + 라이브러리 위치 ( SPARK_HOME의 jars 폴더 )
라. 프로젝트 종속 라이브러리 설정
Project Setting -> Libraries : 필요 라이브러리 지정
마. 모듈 정보 확인
Project Setting -> Modules -> Dependencies
파이썬
가. IntelliJ PyCharm 설치
나. python 기본 플랫폼 설정
다. pip를 통한 패키지 관리
수행 예제 코드
스칼라
import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.mllib.fpm.FPGrowth
import org.apache.spark.rdd.RDD
object SimpleApp {
def main(args: Array[String]) {
val conf = new SparkConf().setAppName("Simple Application").setMaster("local")
val sc = new SparkContext(conf)
val data = sc.textFile("sample*.txt")
val transactions: RDD[Array[String]] = data.map(s => s.trim.split(' '))
val fpg = new FPGrowth()
.setMinSupport(0.2)
.setNumPartitions(10)
val model = fpg.run(transactions)
model.freqItemsets.collect().foreach { itemset =>
println(itemset.items.mkString("[", ",", "]") + ", " + itemset.freq)
}
val minConfidence = 0.8
model.generateAssociationRules(minConfidence).collect().foreach { rule =>
println(
rule.antecedent.mkString("[", ",", "]")
+ " => " + rule.consequent.mkString("[", ",", "]")
+ ", " + rule.confidence
)
}
}
}
**
스파크를 로컬 환경으로 구동할때, 마스터를 .setMaster("local") 로 설정한다.
외부에 스파크를 활용할 때는 .setMaster("spark://master:7077") 형식이다.
파이썬
from pyspark import SparkContext, SparkConf
from pyspark.mllib.fpm import FPGrowth
conf = SparkConf().setAppName('FPGrowth Test')
sc = SparkContext(conf=conf)
data = sc.textFile("sample*.txt")
transactions = data.map(lambda line: line.strip().split(' '))
model = FPGrowth.train(transactions, minSupport=0.01, numPartitions=1)
result = model.freqItemsets().collect()
for fi in result:
print(fi)
참조
MacOS 자체 스칼라 사용
brew install scala
Scala : 스칼라
Spark : 스파크
스파크 기본 환경
마스터 포트 : 7077
모니터링 UI : 8080
커버사진
0 개의 댓글:
댓글 쓰기