Data Engineering/spark 19

모델 평가(1/2)

이 부분은 가장 중요한 부분인데 평가에 대한 이론적인 부분과 어떻게 적용해서 검증했는지에 대해두개 Part로 구분하여 설명한다. Spark ML Guide에서는 아래와 같이 설명하고 있다. ML에서 중요한 작업은 모델 선택 또는 데이터를 사용하여 주어진 작업에 대한 최상의 모델 또는 매개 변수를 찾는 것입니다. 이를 튜닝이라고도합니다 LogisticRegression과 같은 개별 Estimator 또는 다중 알고리즘, 기능 부여 및 기타 단계가 포함 된 전체 파이프 라인에 대해 튜닝을 수행 할 수 있습니다. 사용자는 파이프 라인의 각 요소를 개별적으로 조정하지 않고 전체 파이프 라인을 한 번에 조정할 수 있습니다. Spark 은 모델 선택을 지원하기 위해 CrossValidator 와 TrainValid..

Spark.mllib vs Spark.ml

DataFrame-based API is primary API The MLlib RDD-based API is now in maintenance mode. As of Spark 2.0, the RDD-based APIs in the spark.mllib package have entered maintenance mode. The primary Machine Learning API for Spark is now the DataFrame-based API in the spark.ml package. 그래서 나는 Spark.ml 을 이용해서 기지국 혼잡 인지 모델링을 구현했다. Spark.ml은 Pipeline을 지원하므로 모델링 노가다 하기 훨씬 편하다. 어떻게 동작하길래 편한지는 모델 평가에서 설명한다.

Key Spark metrics and behavior patterns

Spark application의 성능에 영향을 미치는 요소(infra 및 metirc)에 대한 깊은 이해가 필요하다. 모니터링에 필요한 것들을 좀 더 구체적으로 알아보자. (아래 내용들이 기본적으로 spark ui에서 제공하는 것들.. 아마도 통합적으로 보여주라는 의미인듯?) 1. Memory관련 이슈가 가장 중요하게 신경써야 할 부분이다. spark application을 개발할때 memory 사용량에 대한 고려가 되어야 하며, 모니터링에서는 각 component에서 cluster간의 GC와 메모리를 추적할 수 있어야 한다. GC가 과하게 발생하면 back pressure를 증가시킬 수 있다. 2. Shffule수행시에 성능 이슈. 가급적 shuffle과 reducing을 줄여서 Node간 데이터 이..

How do I troubleshoot issue in Spark?

1. Spark pipeline이 적절한지 확인성능을 저하시키는 component가 있는지?2. cluster가 충분한 자원(core, memory)를 가지고 job을 실행하고 있는지?3. data의 병렬화가 잘 되었는지? (너무 많거나 너무 작아도 문제..)4. execurot별로 얼마나 많은 메모리를 소비하고 있는가?5. 적절한 serialization을 사용하고 있는가? (2.0에서 offheap기반의 encoder 추천)6. shuffle read/write가 증가 하고 있는가?7. application의 throughput & latency 측정 Spark UI가 하나의 Job에 대해서는 stage와 task단위의 구체적인 정보를 제공하고 있다. 문제는 과제를 위한 시스템이 폐쇄망에 존재하여 외..

Spark + Scala 개발환경

KAfka Streaming - Spark ML 을 이용했는데 머신 러닝 자체가 개발량이 많지 않아 spark-shell 로 한줄 한줄 검증하고 실제 Spark App. 은 SBT로 개발했다. ※ spark는 spark shell을 통해 한줄 한줄 실행해보며 결과를 확인할 수 있는 REPL(Read-Evaluate-print Loop)환경을 제공하므로 손쉬운 개발과 테스트가 가능하다. 개발자라면 책은 아파치 스파크 입문이 개발에 맞춰서 쓰여있으므로 이해하기 쉽다. 머신러닝은 개발량 보다는 알아야 하는 통계 지식이 우선된다. 기초 통계학이 아니라 응용 통계학에 가깝다. 알고리즘 선택은 해당 알고리즘의 목적에 대해 공부하면 할 수 있다 쳐도 파라메터 설정을 어떻게 할 것이며 출력되는 결과를 어떻게 이해할 것..

R을 이용한 분석 실무 교육

절대 가지말것. 돈은 회사가 내줬지만 돈아깝고 시간아깝고... 시간표에 나온 교육 과정은 정말 훌륭했다. 시간표 주요내용세부내용1. 빅데이터의 통계적 분석 이론 2시간1) 빅데이터 분석 ,데이터 마이닝 개념 2) 자료 입력 및 규격화 3) 데이터 분석 기초 4) 추정과 가설검정2. R의 기본 1시간1) R 기본 활용 2) R의 설치3. 빅 데이터 분석 1 3시간1) 빅 데이터 검증과 변환 2) 기술통계 3) 빈도분석 4) 신뢰도분석 5) 교차분석4. 빅 데이터 분석 2 5시간1) t-test 2) 분산분석 3) 상관분석 4) 회귀분석5. 빅 데이터 분석 실습 5시간1) 비정형 분석, 시각화 2) 정형+비정형 복합 분석 3) 관광+식품 빅데이터분석결제정보 결제수단무통장입금(전자계산서)결제금액520,000원..

spark to vertica

spark 에서 Vertica에 접속하여 Query를 수행하려면 Vertica에서 제공하는 두개의 파일이 필요하다. hpe-spark-connector-8.0.0-0.jarvertica-jdbc-8.0.0-0.jarVertica 의 버전은 7.2.3-5 부터 가능하다. https://my.vertica.com/docs/8.0.x/HTML/index.htm#Authoring/SparkConnector/InstallationAndDeployment.htm%3FTocPath%3DIntegrating%2520with%2520Apache%2520Spark%7C_____1 build.sbt에는 아래와 같이 넣는다. "org.clojars.erp12" % "jdbc-vertica" % "7.2.3" Spark-she..