스파크 4

데이터 전처리 - 결측값 처리

지난 포스트에서는 크롤링으로 수집한 데이터를 통해 선수의 공격과 수비 지표로 쓸 수 있는 공격 성공률, 리시브 효율, 세트당 서브/세트/블로킹/디그 수 등을 구했다. 하지만 공격 지표 중에는 공격 성공률 뿐 아니라 공격이 얼만큼의 효과를 냈는지 보는 '공격 효율' 또한 중요하다. 공격 효율은 (공격 성공-공격 범실)/공격 시도 로 구한다. 그러나 크롤링 당시 전체 범실 개수만 저장하고 공격에서의 범실은 저장하지 않아서 추가로 공격 범실 데이터가 필요했다. ( 데이터 새로 얻는 과정은 생략 ) 새롭게 얻은 데이터이다. 이제 기존에 작성했던 코드 중 공격 효율(at_rate)을 계산하는 부분을 추가한다. 공격 성공률, 공격 효율, 리시브 효율은 모두 백분율이므로 이전에 전처리 할 때 놓쳤던 백분율 변환 부분..

데이터 전처리 - PySpark에서 SQL 사용하기

저번 포스트에서 설명했듯이 이번 프로젝트에서는 배구 선수들의 능력치를 통해 팀 별 경기에서 어떤 팀이 승리할지를 예측하는 모델을 만들 것이다. 그러기 위해서는 선수 능력치를 판단할 수 있는 지표가 필요한데, 이전에 모았던 단순 데이터로는 한 눈에 파악하기 어렵다. 현재 데이터의 컬럼에는 이름, 소속 팀, 포지션, 총 점수 외에도 공격 시도, 공격 성공, 리시브 시도, 리시브 정확, 리시브 실패, 서브 성공, 세트 성공, 블로킹 성공, 디그 성공 이 있다. 이 중 공격 지표로 사용할 수 있는 공격 성공률과 수비 지표로 사용할 수 있는 리시브 효율을 구하고, 참여한 세트 수를 통해 세트당 서브, 세트, 블로킹, 디그 개수를 구해서 새롭게 데이터를 만들 것이다. 위의 내용으로 데이터 전처리를 해 볼 텐데, 어..

[PySpark] Jupyter Notebook에서 PySpark 사용하기

저번 포스트에서는 windows10 에 스파크를 설치해보았다.다만 cmd 창에서 모든 작업을 진행하기에는 불편함이 있어서 (작업 명령어 등 내용 저장에 불편)앞으로는 쥬피터 노트북으로 작업하기 위해 작업환경을 세팅하고 테스트로 데이터를 불러와보았다.쥬피터 노트북과 아나콘다는 이미 설치되어 있다고 가정한다. 데이터를 저장하고 관리하기 위해 하둡을 함께 사용한다. (하둡 설치 방법은 이전 포스트 참고)즉, 이번 포스트에서 다루는 내용은 스파크와 하둡을 연결하는 내용이라고 볼 수 있겠다.   (1) 하둡 실행cmd 창을 열어 하둡 설치파일이 있는 디렉토리로 이동하고 다음 명령어들을 차례로 실행한다.이 때 'hdfs namenode -format' 명령은 할 때마다 실행하지 않고 맨 처음에만 실행해도 되는 것 ..

[Spark] 스파크 설치하고 csv 파일 불러오기

스파크는 데이터 과학에서 자주 볼 수 있는 반복 연산에 적합한 개념과 기능을 제공하는 인-메모리 데이터 처리 엔진으로 빠른 속도가 특징이다. 다양한 언어와 데이터 포맷을 지원하고 데이터 전처리를 효과적으로 수행할 수 있어서 빅데이터 파일 시스템으로 많이 쓰이는 하둡과 같이 쓰이기도 한다. 기본적인 분산 처리 기능 뿐 아니라 스파크 SQL, MLlib, 스트리밍 등 여러 구성 요소가 있다. 기본 데이터 구조로는 객체의 분산 시퀀스인 RDD(Resilient Distributed Dataset)를 사용하며 RDD는 다양한 관계 대수 연산자(SELECT, JOIN 등)와 스칼라, 파이썬 변환 로직의 피연산자로 적용될 수 있다. RDD는 또한 RAM에 저장되며 자동으로 결함을 극복하는 메커니즘을 지원한다. 만약..