반응형

전체 글 60

IntelliJ + Maven + Scala 으로 Jar 파일 만들기

이전에 포스팅했던, "아파치 스파크 개발 환경 구축 및 예제 실습 - IntelliJ + Maven + Scala + Mac"에서IntelliJ 상에서 프로그램을 실행(Run)시키는 것을 해보았다. IDE 툴을 이용하여, 프로그램을 개발하고 간단한 테스트를 하는 것은 문제없지만만약에 그 프로그램을 어딘가 배포시키려는 목적이 있다면, 아마도 Jar 파일 추출시켜야 할 것이다. 나의 경우에도 연구실의 내 자리에 있는 PC에서 개발 및 간단한 테스트를 진행하고,본격적인 실험을 위해선 그 프로그램을 서버에 포팅시키는 작업이 필요했다. 그래서 Jar 파일을 만든 후, 터미널에서 spark-submit을 이용해 실행시키기 위한 긴.... 여정을 떠났다. 이번 포스팅에서 그 길었던 여정에 대해서 이야기해볼 참이다. ..

아파치 스파크 (Apache Spark) 설치 - Window 10 환경

스파크를 개발할 때, 윈도우 환경에서 개발을 하고, Jar 파일을 만들어서 리눅스에 배포하여 실행시키는 방식을 꽤 많이 하는 것 같다. 우리나라 사람들이 유독 윈도우를 많이 써서 그런건가.. 아무튼, 그래서 오늘은 윈도우 환경에서 스파크를 설치하는 것을 해본다. 스파크를 실행시키기 위해서는 기본적으로 설치해줘야 하는 것들이 몇 가지 있다.Scala, Java(JDK), Winutils 또는 Hadoop, Spark 참고로, 스파크는 하둡을 설치하지 않고도 설치하여 실행이 가능하다.다만 그러기 위해선, Winutils을 따로 다운로드 받아서 설치해야한다.(하둡을 설치하면 그 안에 Winutils가 있다.) 그리고, hadoop-2.7.1 버전 (혹은 그 버전의 winutils.exe)를 사용하는 경우에는 ..

아파치 스파크 개발 환경 구축 및 예제 실습 - IntelliJ + Maven + Scala + Mac

스파크를 이용한 개발을 하기위해, 개발 툴을 이용해서 간단한 코드를 작성하고 실행해보는 실습을 해봤다. 개발 환경은 맥북에서 IntelliJ와 Maven을 이용했고, 개발 언어는 Scala이다. 일단 IntelliJ IDEA를 다운로드 받는다. (구글에서 IntelliJ를 검색하면 공식 홈페이지에서 커뮤니티 버전을 쉽게 구할 수 있다.) 다운로드 후 설치를 하면 아래와 같은 화면을 볼 수 있는데, 만약 Scala를 미리 설치하지 않았다면, 화면 하단에 있는 Configure - Plugins - Install JetBrains plugin.. 에 들어가서 Scala를 검색한 후 설치하면 된다. 그 다음 프로젝트를 생성하기 위해서 Create New Project를 클릭한다. 아래의 화면에서, 좌측에 있는..

[책] 헬로 데이터과학 -(4) 문제 정의와 데이터 수집 및 준비

헬로 데이터과학 - (4) "만약 나에게 문제 해결을 위해 한 시간이 주어진다면, 나는 55분 동안 문제에 대해 생각하고 5분 동안 해결책에 대해 생각하겠다" - 알버트 아인슈타인 우리가 데이터를 분석하는 것은 목적은, 아마도 많은 경우에, 어떤 문제를 해결하기 위함일 것이다.문제를 해결하는 것은 문제를 잘 정의하는 것으로 부터 시작한다. 대체로 문제를 해결하는 단계는 아래와 같이 이루어진다.주어진 문제를 명확히 정의한다. 주어진 문제를 정확히 이해해야만 필요한 데이터와 접근 방법을 결정할 수 있다.문제 해결에 필요한 데이터를 구한다. 이미 존재하는 경우에는 기존의 데이터에서 필요한 부분을 추철하고, 그렇지 않은 경우에는 직접 수집한다.데이터를 분석에 적합한 형태로 가공한다. 수집 및 추출된 데이터는 대..

[책] 헬로 데이터과학 -(3) 데이터 과학 입문

헬로 데이터과학 - (3) 이 책에서 저자는 사람들이 "빅데이터"에 너무 집중하는 것을 우려한다.그 단어 자체에서 느껴지는 부담감도 부담감이지만, 어떤 현상을 분석하는데 있어서 반드시 빅데이터가 필요한 것은 아니라는 것이다. 그래서 다음과 같이 빅데이터의 단점을 이야기 한다. 빅데이터는 비싸고 느리다세상의 이치가 그렇듯이, 데이터의 규모가 커질수록 이를 처리하는 비용은 커지고 속도는 느려진다. 이런 비효율은 데이터와 관련된 모든 작업을 복잡하고 어렵게 만든다. 데이터를 직접 수집해야 하는 경우라면 그 어려움과 비용은 이루 말할 수 없을 것이다. 따라서 정말 그렇게 많은 데이터가 필요한지 꼭 짚고 넘어갈 일이다.그렇다면 데이터가 많으면 많을수록 좋을까? 더 많은 데이터는 분석의 정확도를 높이지만 데이터양이..

아파치 스파크 입문

아파치 스파크(Apache Spark)는 빅데이터처리를 위한 오픈소스 병렬분산처리 플랫폼이다. 빅데이터를 이용하여 원하는 결과를 얻고자할 때나, 스트리밍을 이용하여 머신러닝을 효과적으로 수행하려고할 때 주로 사용된다. 스파크에 대한 더욱 자세한 이야기에 들어가기 앞서,나프다(나는 프로그래머다)에 올라온 "Apache Spark로 시작하는 머신러닝 입문" 동영상을 먼저 공유한다. 책이나 인터넷 자료를 통해서도 개념을 이해하고 익힐 수 있겠지만,필자의 경우 시청각 자료로 익히는 편이 훨씬 수월했고,동영상의 발표자 김도남님의 말대로, 개발자는 역시 타이핑을 통해 익히는 것이왕도이자 정도가 아닌가 싶다.

조금 더 생각해보는 p-value

앞선 포스팅에서 유의확률, 유의수준 그리고 p값(p-value)에서 알아본 김에,조금 더 이에 대해서 생각해볼만한 내용을 정리하고자 한다. 이 내용은 "A/B 테스트에서 p-value에 휘둘리지 않기"라는 제목의 글을 참조한 것이고,정확한 출처는 내용 하단에 밝힌다. A/B 테스트 결과 분석은 주로 빈도주의 관점에서 유의성 검정을 따른다. 문제는 유독 유의확률(p-value)에만 신경을 쓰느라 제대로 실험 결과를 해석하지 않는다는 점이다. 실험의 목적은 얼마나 효과가 있는지 살펴보는 것이지 통계적 유의성(statistical significance)만을 확보하는 것이 아니다. 우선, 들어가기전에 p-value의 의미를 다시 짚어보자. A/B 테스트에서는 마냥 p-value가 작아질 때까지 실험 결과를 모..

[책] 헬로 데이터과학 -(2) 유의확률, 유의수준

헬로 데이터과학 - (2) 데이터를 분석할 때 가장 많이 나오는 개념 중 하나이며, "헬로 데이터 과학" 책을 읽고 이해함에 있어서도 필수적으로 이해하고 있어야 하는 개념이 바로 유의확률(significance probability)이며, p값(p-value)라고도 한다. 유의확률은 가설(H0, H1)과 연계되는 개념으로,실제로는 H0가 참인데도 불구하고, H1이라고 잘못 선택할 확률(제1종 오류를 범할 확률)을 의미한다.다르게 표현하면 "H1이다"라고 주장했는데, 그것이 틀릴 확률이다. 예를들어, 남자의 키와 여자의 키를 비교해서 남자가 여자보다 더 키가 큰지를 검정하는 경우를 생각해보면, 가설은 다음과 같을 수 있다. H0: 남자의 키와 여자의 키는 같다.H1: 남자의 키와 여자의 키는 다르다. 실제..

[책] 헬로 데이터과학 -(1) 평균, 표준편차, 분산

헬로 데이터과학 - (1) 데이터과학에 관련한 두번째 책으로 "헬로 데이터과학"을 선택했다. 이 책에서 저자는 빅데이터, 데이터과학이라는 것이 "우리가 상상하는 것"만큼 어렵고, 멀리있는 것이 아니라는 것을 강조하며, 초보자도 충분히 이해할 수 있게 설명한다. 그렇다고, 추상적인 이야기나 하며 개념 소개만 늘어놓지도 않는다. 데이터를 분석하는 과정에서, 우리가 중고등학교 시절 배웠던 기본적인 통계에 관한 지식이 어떻게 활용되는지 보여준다. 따라서,본격적인 이야기에 들어가기 전에, 그 통계에 관한 기본적인 지식에 대해 먼저 이야기하고자 한다. 바로, 평균/표준편자/분산 이야기다.이것들에 대한 설명은 조대협님의 블로그에 아주 설명이 잘되어있어 그 내용을 옮긴다. 표준 편차란, 쉽게 말하면 평균(mean) 에..

반응형