2017년 8월 11일 금요일

Python에서 Switch Case

Python 언어에는 switch case 구문이 없다. 그와 관련한 질문이 올라온 것을 보고 궁금증이 생겨서 찾아보았다.

Proposal


집어 넣으려는 시도가 없지는 않았으나, 필요하지 않다고 생각하는 사람이 많은 모양이다.

DSL


꼭 필요하다면 Domain Specific Language를 만들 수도 있지 않을까하는 생각이 들긴 했지만, 너무 멀리 나가는 것 같다.


Package


혹시나 해서 찾아보니, 역시나 패키지가 있다.
간단히 테스트해보았다.

% pip3 install switch
% python3
>>> from switch import Switch
>>> x = 1
>>> with Switch(x) as case:
...     if case(1):
...         print('일')
...     if case(2):
...         print('이')
... 
일

2017년 7월 30일 일요일

수학 스터디 결과 보고

우분투 한국 커뮤니티의 정기 세미나에 처음으로 참석해서, 지난 수학 스터디에 대한 결과 보고를 했다.

슬라이드
https://www.slideshare.net/sk8erchoi/ss-78364156

영상

2017년 7월 27일 목요일

Hortonworks 실습

Hortonworks Sandbox(HDP)


번역 중인 데이터 과학 책에 호튼웍스 샌드박스가 소개되어 있다. 원서에서 사용한 것은 2.1과 2.3.2 버전인데, 지금은 HDP 2.6이 나와있다.
버추얼박스용 이미지를 받아서 돌려보니 호스트 시스템이 먹통이 된다. 호스트 시스템인 X230 노트북은 CPU가 2 코어이고, 구입할 때 메모리를 8GB로 업그레이드해서 지금까지 사용하던 것이다. 게스트 시스템에 할당된 메모리를 8GB에서 4GB로 줄이고, CPU도 50%만 사용하도록 설정을 변경했다. 그렇게 해서 Ambari와 Hive가 돌아가는 것은 확인했다. 그렇지만 pySpark에서 pandas를 사용하여 CSV 파일을 읽다보니 아무래도 시스템이 힘들어하는 것 같이 보였다.
뒤늦게 가이드를 찾아보니, HDP에서 각종 서비스를 구동하려면 가상 머신에 최소 8GB의 메모리를 할당해야 하므로, 호스트 시스템은 10GB이상이 필요하다고 한다.

X230 RAM 업그레이드


8GB 램(타무즈 DDR3 8G PC3-12800 CL11 1.35V)을 하나 사서 4GB와 바꾸어 달았다. 그래서 총 12GB의 메모리를 갖춘 시스템이 되었다.