Programming(179)
-
[SPARK] RDD error 체크하기
아래 형태의 코드를 스칼라를 이용해서 구현했다. for ( i println("Exception " + e) }} 위의 경우에 해당하는 폴더가 없거나 파일이 없는 경우, textFile.count()를 하게 되면 exception 에러가 발생하고 종료하게 된다.'아,,,, exception이 나더라도 그 다음 번 for문을 돌리고 싶은데 어떻게 해야 하지??' scala에 대해 온갖 욕을 해대며 구글링 시작... Try라는 것을 발견했다. 사용법은 아래와 같다. import scala.util.Try val result = Try(textFile.count()) 이렇게 Try로 감싸주게 되면 exception이 발생하지 않고 해당 성공, 실패 여부를 값으로 받아오게 된다.받아온 값은 아래 함수를 통해 성..
2018.03.29 -
Java.util.map을 scala Map으로 변환하기
Scala를 쓸 때 항상 뻘짓을 하게 되는 부분이 형변환인 것 같다.python을 쓸때는 그냥 다 통용되는 느낌이었는데, scala에서는 데이터 형이 생각보다 엄청 중요하다는 걸 쓰면서 깨닫게 된다.특히나 java에서 통용되는 Object 객체를 scala Map 등으로 바꿔주는게 생각보다 정말 까다롭고 힘들었다. 나 역시 java library를 통해 java.util.Map[String, Object] 이 형태로 값을 리턴 받았는데, value에 해당하는 Object를 처리하기 너무 까다로워서 java 코드 자체를 java.util.Map[String, Map[String, String]]으로 다시 변경해서 리턴을 받았다. 지금부터는 자바 Map을 scala Map으로 형변환 하는 방법을 서술할 것이..
2018.03.27 -
maven에 custom jar를 집어넣어 보자.
IntelliJ 환경에서 build를 하면 별로 고민을 안해도 되지만 리눅스 환경에서 maven build를 해야되는 경우 custom jar 파일을 pom.xml 파일에 추가시켜 줘야 maven build시 인식이 된다. 대략적으로 설명을 하자면, 개인 로컬 repository를 만들고 해당 repository를 pom.xml에 등록한다.그 후 dependency를 추가해 준다.이렇게 하면 custom jar 파일을 pom.xml에서 인식할 수 있고 쉽게 maven build를 실행할 수 있다. 개인 로컬 repository는 아래처럼 pom.xml에 추가하자. localrepository file://${basedir}/repo url 항목을 보면 jar 라이브러리 파일 경로를 입력하는 것을 확인해 ..
2018.03.06 -
[5강] 클래스와 객체
CLASS, FIELD, METHOD scala에서의 class, field, method는 JAVA와 상당히 유사하다. 일단 scala에서는 아래와 같이 class를 정의 할 수가 있다. class Test { var variable = 0 } 해당 클래스를 객체로 만들고 싶다면 아래와 같이 new로 선언해 주면 된다. val test1 = new Test() 또한 Test class 내의 변수 무결성을 보장해 주기 위해 private로 선언해 줄 수도 있다. class Test { private var variable = 0 } scala에서는 기본적으로 변수 선언을 하게 되면 public이며, 따로 public 키워드를 사용하고 있지는 않다. 이제 변수를 파라미터로 받아서 variable에 더해주는..
2018.03.03 -
IntelliJ에서 scala 사용해보기
우선 mac 기준으로 IntelliJ와 JDK는 깔려 있다는 가정하에 IntelliJ에서 IntelliJ IDEA > Plugins에서 scala를 검색해보자. 위의 그림과 같이 SBT와 Scala가 검색이 되는데 이 두 개의 플러그인을 모두 설치하자. 설치한 후에는 IntelliJ 리스타트~ 하기 전에 scala sdk부터 설치를 하자. 아래의 링크로 들어가서 scala sdk를 설치하자. https://www.scala-lang.org/download/ 나 같은 경우에는 Mac OS 버전인 scala-2.12.4tgz을 다운 받았다. 적절한 폴더에 압축을 풀어주자. (나 같은 경우에는 JAVA JDK와 비슷한 위치에 압축을 풀음.) 기왕이면 SCALA_HOME과 PATH도 ~./bash_profile..
2018.02.23 -
[Python] Ipython 노트북 설치하기
IPython??기존의 python보다 좀더 인터프리터가 쉽게 나타나 있는 형태라고 보면 될 것 같다.python을 웹에서 코딩하고 작업할 수는 없을까라는 요구에 의해 나오게 된 거라도 봐도 될 것 같다. 간단히 어떻게 설치하고 사용하는지 살펴보자. 우선 ipython을 설치한다.참고로 ipython은 python 버전 2.7 또는 3.3 이상을 요구한다. $> pip install ipython 아래 라이브러리는 Ipython 사용에 있어 dependencies를 가지는 라이브러리들이기 때문에 함께 설치한다.- jinja2, needed for the notebook- sphinx, needed for nbconvert- pyzmq, needed for IPython's parallel computin..
2017.11.21