Python and Spark로 로그 파일 분석 (with hadoop)

Spark를 이용한 파일 분석 spark도 잘 모르고 hadoop도 잘 모르는 상태에서 진행해서 틀린 부분이 있을 것이다. 참고로 OSX에서 진행된 작업이다. 설정 1. Hadoop를 설치 하고 실행한다 2. hdfs상에 파일을 올린다. 1 2 cd /logs hdfs dfs -put test.log /input/ 아래와 같이 파일 브라우징이 가능하다 아래에서 올라간 파일을 확인! http://localhost:50070/explorer.html#/input 3. spark의 python 커맨드 테스트.. $SPARK_HOME/bin/pyspark 하둡을 켜고 pyspark를 실행하면 아래와 같이 나온다 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 Python 2....

May 30, 2016 · 4 min · 페이퍼

AWS EC2서버에 패스워드로 로그인 하기

AWS ec2 서버에는 password로 ssh접근이 안되도록 되어 있다. 아래 파일을 수정하여 접근이 되도록 해보자. centos 6.5에서 작업한 것이다 1 2 # 루트계정에 패스워드 지정 passwd root 1 2 3 4 5 6 7 8 sudo vi /etc/ssh/sshd_config # 아래 두개 옵션을 yes로 하고 저장후 닫기 PermitRootLogin yes PasswordAuthentication yes # sshd 재시작 service sshd restart

April 8, 2016 · 1 min · 페이퍼

git에서 rebase와 merge

요즘엔 git을 많이 이용하는데 항상 rebase와 merge에 대해서 헷갈리곤 했다. 잘 모를때 rebase로 하다가 소스를 날려먹은 후로는.. merge만 써왔다 최근에 몇군데 찾아봤는데 rebase 는 branch의 base를 재배치 한다는 의미라고 한다. gitflow를 쓰면서 feature를 새로 만들어서 작업을 하다 그동안 쌓인 develop를 rebase를 해봤는데. feature에서 작업하던 도중 쌓인 develop의 commit들이 local feature밑으로 들어가지는걸 확인했다. 히스토리가 꼬이지 않아 좋지만 한가지 문제는 feature를 서버로 push한 상태라면.. feature브런치가 두개가 생겨버린다 물론 로컬이 최신이므로 remote/origin을 feature를 삭제하고 신규로 push하면 해결되는것 같다....

March 24, 2016 · 1 min · 페이퍼

git local commit revert 시키기

아래와 같이 복구 대상 저장소를 지정한다 (현재 checkout이 develop인 경우) 1 git reset --hard remotes/origin/develop 저장소를 지정하지 않으면 현재 checkout된 remote를 기준으로 revert하는것 같다 1 git reset --hard

February 25, 2016 · 1 min · 페이퍼

Python으로 간단한 webserver 체크

요즘 파이썬 공부중인데 연습겸 10초마다 webserver가 죽었는지 체크하는 간단한 프로그램을 만들어 봤다. 아래코드에는 아래 나열된 사항들에 대한 코딩이 적용되어 있다 http request thread(timer 대응) logging사용법 try-except 예외처리 raise throw json parsing 및 데이타 읽기 방법 string 처리 ServerCheck.py 파일 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 import threading import urllib....

February 17, 2016 · 2 min · 페이퍼

CentOS 6에서 Python3 설치 하기

centos 6에 3.5.1 버전을 설치 하는 command line 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 yum install zlib-devel -y yum install openssl openssl-devel -y wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tar.xz xz -d Python-3.5.1.tar.xz # 혹시 xz가 없다면 yum install xz 로 설치 하라. tar -xvf Python-3.5.1.tar cd Python-3.5.1 ./configure --prefix=/usr/local --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib" make && make altinstall # pip설치 curl -k -O https://bootstrap.pypa.io/get-pip.py python3.5 get-pip.py 간단한 프로그램에는 Python이 좋은듯 java는 프로젝트 구성하기도 귀찮고…

February 12, 2016 · 1 min · 페이퍼

맥에서 Unity3D 기본 에디터로 VisualStudio Code 사용하기

맥용 Unity로 개발할때 보통 MonoDevelopr를 이용하여 코딩 한다 그런데 한글을 지원안해서. 아주 불편했는데. MS에서 얼마전에 공개한 mac용 VisualStudio Code에서 유니티를 지원한다고 해서 한번 설정해봤다. 설치 우선 VS code를 설치 한다 https://code.visualstudio.com/ 커맨드+P를 누르고. ext install Omnisharp 추가 기능으로 설치 한다 안해도 되는거 같기도… 맥의 터미널 상에 brew install mono 로 mono를 설치한다 오래걸린다 이후로는 아래 사이트를 따라 하면 된다 https://code.visualstudio.com/docs/runtimes/unity git clone https://github.com/dotBunny/VSCode.git를 내려받고 Plugins\Editor\dotBunny 폴더를 자신의 유니티 프로젝트 내부에 넣는다...

December 18, 2015 · 1 min · 페이퍼

Mariadb Query test할때 cache 안먹게 하기

쿼리 튜닝할때 아래를 실행하고 하면 cache 안된 결과를 볼 수 있다. 1 RESET QUERY CACHE;

December 15, 2015 · 1 min · 페이퍼

spring jpa namedQuery 직접 호출하기

Test.java에서 처럼 EntityManager를 이용하여 orm.xml에 정의한 NamedQuery를 바로 실행 할 수 있다.. repository를 이용하여 호출하면 getResultList로만 실행되는 것 같다. update 반영된 Row수를 알기 위해 아래와 같이 호출 했다. Test.java 1 2 3 4 5 6 @PersistenceContext private EntityManager em; public void test() { int cnt = em.createNamedQuery("Order.clearOrder").executeUpdate(); logger.info("Order.clearOrder updated={}", cnt); } @PersistenceContext private EntityManager em; 에서.. @PersistenceContext @Autowired 둘다 작동 하는것 같다. 차이는 아직 잘 모르겠다. META-INF/orm.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 <?...

November 13, 2015 · 1 min · 페이퍼

spring redis 연동

pom.xml 에 아래 추가. 1 2 3 4 5 6 7 8 9 10 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>1.1.0.RELEASE</version> </dependency> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.1.0</version> </dependency> 버전을 잘 맞춰야 한다. 안그러면 몇몇 class가 없어서 오류가 발생해요. context-redis.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd"> <bean id="jedisConnFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" p:usePool="true" p:hostName="172.xxx.xxx.xxx" p:port="6379" /> <!...

November 10, 2015 · 2 min · 페이퍼