본문 바로가기

전체 글

[Spark] Word Count 샘플 (Scala) [Spark] Word Count 샘플 (Scala) 데이터 분석의 Hello Word라고 할 수 있는 Word Count를 Spark를 사용해서 만들어 보자.Scala를 사용해 보겠다. maven에 spark-core를 추가한다. (Scala version에 따라 2.10 or 2.11 중 하나를 선택하면된다) org.apache.spark spark-core_2.11 2.0.1 정말 코드가 간단하다. SparkContext를 만들어서 파일에서 line을 읽고 RDD로 Word Count를 금방 만들어 낸다. 코드다. 정말 쉽다.flatMap으로 line을 split한다.map으로 word, 1로 String, Integer 형태로 바꾸고reduceByKey로 couting한다.foreach로 cons.. 더보기
IntelliJ로 만든 프로젝트 Github에 올리기 IntelliJ로 만든 프로젝트 Github에 올리기 IntelliJ로 만든 Scala Maven 프로젝트를 Github에 최초 등록하는 방법입니다. 1. 프로젝트를 만든다.Scala Maven 프로젝트 만들기: http://gyrfalcon.tistory.com/entry/IntelliJ%EB%A1%9C-Scala-Maven-%ED%94%84%EB%A1%9C%EC%A0%9D%ED%8A%B8-%EB%A7%8C%EB%93%A4%EA%B8%B0 2. VCS - Import into Version Control - Share Project on Github 3. 프로젝트 생성!! 짠! github에 내가 만든 프로젝트가 업로드 된걸 확인 할 수 있다. 끝 더보기
IntelliJ로 Scala Maven 프로젝트 만들기 IntelliJ로 Scala Maven 프로젝트 만들기 1. IntelliJ에서 Create Project 선택한다. 2. Scala archetype을 등록한다. (있다면 skip) GroupId: net.alchim31.mavenArtifactId: scala-archetype-simpleVersion: 1.6 3. scala-archetype-simple을 선택하여 생성한다.생성하면 다음과 같이 프로젝트가 구성된다. 상단에 No Scala SDK in module 이란 메세지가 보인다. 4. scala SDK를 선택한다.설치된 Scala SDK를 선택해준다. 5. POX.xml 수정자동 생성되는 App object를 실행하면 -make:transitove 옵션 에러 메세지가 나온다 pom.xml에 .. 더보기
Apache Storm #3 (Stream windows API: Trident) Apache StormStream windows API (Trident) Trident의 Stream API중 window()가 있다. 이는 Streaming의 특징인 windowing 을 지원하는 메소드이다.간단히 설명해 windowing은 batch 처리를 할때 Tuple의 양을 일정 기준에 따라 정해서 처리하는 것이다.Storm 공식 문서에는 아래와 같이 설명하고 있다. Trident streams can process tuples in batches which are of the same window and emit aggregated result to the next operation. There are two kinds of windowing supported which are based on.. 더보기
Apache Storm #2 (WordCount 샘플 Topology 만들기) Apache StormWordCount 샘플 Topology 만들기 1. 프로젝트 생성IDE로 IntelliJ를 사용하여 Java Maven 프로젝트를 생성한다. Java 버젼은 1.8로 선택했다. 프로젝트가 만들어지면 pom.xml에서 storm-core 디펜던시를 추가한다. org.apache.storm storm-core 1.0.2 이렇게 하면 Storm 코드를 local에서 테스트하기 위한 모든 준비가 끝이다. 2. WordCounting 샘플 Word Counting은 가장 많이 사용되는 샘플이다. Storm으로 해당 샘플을 작성해본다. 2.1 Spout Spout는 데이터를 읽어오는 역할을 한다. 스톰은 Tuple 형식으로 데이터를 다룬다.아래 작성한 SentenceSpout는 5줄의 미리 작.. 더보기
Apache Storm #1 (Cluster 환경 구축) Storm Cluster 환경 구축 1. Zookeeper 설치https://zookeeper.apache.org/ 에서 Zookeeper를 다운로드 하고 압축을 푼다. 설정은 ~/conf/zoo_sample.cfg 파일을 그대로 ~/conf/zoo.cfg 로 복사한다. 따로 변경할건 없지만 dataDir만 변경하여 저장했다. 1.1 Zookeeper 실행 sudo sh zkServer.sh start 명령어를 통해 Zookeeper 를 실행시킨다. ZooKeeper JMX enabled by defaultUsing config: /Users/jiminsub/Apps/Dev/zookeeper-3.4.9/bin/../conf/zoo.cfg-n Starting zookeeper ... STARTED 2. S.. 더보기
DB2 DATE FORMAT VARCHAR_FORMAT 스칼라 함수 ref: http://www.ibm.com/support/knowledgecenter/ko/SSEPGG_9.7.0/com.ibm.db2.luw.sql.ref.doc/doc/r0007110.html문자를 varchar로 >>-VARCHAR_FORMAT--(--character-expression--)------------------>>-VARCHAR_FORMAT--(--timestamp-expression--+--------------------------------------+--)->>.. 더보기
Java에서 Multi String 선언 할 수 있는 @Multiline 이 포스트의 핵심 내용은 아래와 같습니다.Java에는 여러 줄에 걸친 문자열을 선언하는 문법이 없어서 긴 문자열을 편집하는 작업이 불편합니다.이를 보완하는 방법을 찾던 중 Adrian Walker라는 개발자가 만든 Multiline-string 이라는 라이브러리를 발견했고, Eclipse에서도 쓸 수 있도록 코드를 수정해서 원저자의 허락을 받고 Github에 올렸습니다. (https://github.com/benelog/multiline)이 과정 중에 Annotation Processing과 ECJ(Eclipse compiler for Java)에 대해서 알게 된 것들을 정리했습니다.이 라이브러리와 비슷한 기능을 Lombok에 추가하거나, 안드로이드에서 annotation Processing을 활용할만한.. 더보기