반응형


------------------------------------------------------------------------------

# 바람이 분다 당신이 좋다 중


한 여자를 알았다. 나는 그녀가 빨간색인 줄 알고 좋아했는데 그녀는 파란색이었다.

정반대의 색을 가지고 있어서 한순간 주춤 물러서기까지 했다. 그럴 경우, 내가 그쪽으로 옮겨가는 수밖에는 없었다.

하지만 얼마를 더 만났더니 그녀는 차라리 흰색이었다.


나는 그녀를 흰색으로 이해하기로 마음을 먹고 그녀에게 줄 흰 꽃을 준비했다. 

흰 이 꽃이 당신을 닮은 거 같아서 샀다고 했다. 초여름날, 보리수꽃을 내밀면서 내가 뱉은 말은 

내 감정의 전부이면서 진실이었다. 사랑하면 사랑할수록 대상은 색이 없어지고 오히려 지워져 창백해진다.

사랑스럽기 때문이다. 사랑의 감정으로 대상은 참을 수 없이 완벽해지기 때문이다.

------------------------------------------------------------------------------


처음 내가 좋아했던 색깔을 가진사람이라서 좋아했는데 알고보니 내가 싫어하는 색깔을 가지고 있더라.

하지만 더이상 그 색깔은 중요하지 않다. 이미 나는 그 사람의 색깔에 물들어 가고 있으니까.

그게 이전의 내가 싫어했던 색깔이든 그렇지 않든. 

허나 내가 가진 색깔과 너가 가진 색깔이 만나 만들어내는 색이 검은색만은 아니였으면 좋겠다. 



반응형
반응형

스파크와 맵리듀스  성능차이 그리고 엘라스틱서치


최근 업무하면서 경험했던 이슈들에 대해서 정리해볼까 한다.


Episode1. 스파크(Spark) 하둡 스트리밍 MR작업의 성능 이슈


함께 업무를 하던 과장님께서 하둡 맵리듀스로 작업을 스파크로 변경하셨었다.


그런데 스파크로 코드를 작성하고 테스를 하시더니 맵리듀스 보다 1 30초나 느리다는 것이다.


무슨 말이란 말인가??? 스파크가 하둡MR 보다 성능이안나온다니!


그래서 함께 코드를 봤더니 코드는 딱히 문제가 만한 부분도 없을만큼 단순한 코드였다.


단순히 파일을 rdd 읽어서 parsing해서 결과파일을 쓰는....


그래서 다시 과장님이 스파크 어플리케이션을 돌리실동안 클라우데라에 들어가 잡이 돌아가는 상황을


Application Master 보았더니 굉장히 많은 shuffle 일어나고 있었고 순간 spark-submit


어떤 옵션들이 들어있는지에 대한 의문이 들었다.


확인을 해보니….하둡 스트리밍 MR작업을 돌릴 때는

--conf "spark.dynamicAllocation.enabled=true"

--conf "spark.shuffle.service.enabled=true"


해당 옵션이 있었고 새로만든 스파크 작업에는 해당 옵션을 주지 않고 spark-submit 이루어졌던 것이다.


결과적으로 하둡 스트리밍MR 클러스터의 사용가능한 충분한 executor 사용하여 작업이 이루어진 반면에


스파크작업은 10 이내의 executor들을 사용해 작업이 진행되었던 것이다.


같은 옵션을 주고 다시 테스트를 해보니 당연히 스파크의 승리!!! 20초정도 빨랐던 같다. 


데이터가 커지고 로직이 복작해지면 질수록 성능은 차이가 많이 나지 않을까 생각한다.



Episode2. 엘라스틱서치(elastic search) 키바나(cabana)


최근 데이터 유입쪽과 카프카-camus 통해 hdfs 적재되는 데이터량을 쉽게 확인할 있는 시스템?을 개발하였다.


기존에는 데이터유입부분과 실제 hdfs 데이터가 적재되는 양을 비교할 없어 데이터가 정상적으로 유입부터 적재까지


이루어지고 있는지 확인할 있는 방법이 없었다. 아니라 실제 데이터들을 까서 로그들의 개수를 읽어서 매칭시켜보는 방법이 있었다....(노가다...)


따라서 이부분에 대한 모니터링 작업이 필요한 상황이였다.


그래서 파이썬스크립트로 데이터유입서버와 hdfs 적재되는 커맨드 서버에서 로그파일의 row수를 세서 시간별로 데이터 row count 


엘라스틱서치(elastic search) 적재하도록 하였다. 이렇게 쌓인 데이터는 키바나(kibana) 통해 쉽게 시각화할 있게 함으로써 


편하게 확인할 있도록 작업을 진행하였다.


작업을 진행하면서 느낀것은 역시 써보지 않은 tool 사용해 작업을 하는 것은 쉽지 않고 간단한 작업이라도 꽤나 시간을 많이 잡아 먹는다는 것이다.


하지만 새로운 도구를 경험하고 사용하면서 경험적인 측면에서 단계 성장해나가는 같은 기분이들어 좋았다.


생각보다 elasticsearch-kibana 사용하는데 많이 힘들진 않았지만 elastic search 인덱스를 만드는 부분과 kibana에서


index=true 되어있지 않은 데이터들에 대해서는 그래프의 지표로 쓸수 없다는 부분을 깨닫는데까지 많은 삽질을 했던게 가장 기억에 남는다.




앞으로도 사용하고 있는 tool, framework에만 의존하기 보다는 다양한 도전과 시도를 통해 여러 문제에 대해 적합한 솔루션을 제공할 있도록


항상 여러 기술에 관심을 가지고 사용해볼 있도록 노력해야겠다는 생각이 들었다.



반응형
반응형

안만져본 툴들에서 기본적으로 데이터를 내가 원하는 방식으로 select해오는 것도 쉽지 않구나...


정리가 잘되있는것 같아서 공유


1. [ 엘라스틱서치 쿼리 DSL 기초 ]

https://bakyeono.net/post/2016-08-20-elasticsearch-querydsl-basic.html



2.  [ 엘라스틱서치 검색을 해보자 ] 

https://iju707.gitbooks.io/elasticsearch/content/_executing_searches.html



! 위의 문서에서는 GET 방식으로 조회하였으나, curl에서 GET의 Body를 지원하지만 실제 REST/HTTP 스펙상 GET은


Body를 사용하지 않는 것이 많기 때문에 POST로 사용할 것을 권장한다.




반응형
반응형

목요일 (20170720)


가슴운동 및 유산소 30분


보아하니 이날 운동하기 싫었던 듯...


플라이덱,

딥스,

케이블플라이


무게도 그렇고 횟수도 그렇고 식단도 그렇고


제대로 이루어지지 않은 하루



반응형
반응형

20170719 수요일


강력한 어깨를 만들기 위한 어깨운동


사실 가슴운동만큼 좋아하는 어깨운동


얼른 내 어깨에도 복숭아가 들어섰으면...


숄더스미스프레스,

사이드레터럴레이즈,

밴트오버레터럴레이즈,

커틀벨


이날 운동량이 좀 부족했네ㅎㅎ



반응형
반응형


파이썬 스크립트로 간단히 api를 만들어 사용하고자 스크립트 작성 후 실행시켰더니 다음과 같은 문제가 발생했다.


ImportError: No module named requests


문제는 api요청을 위해 'import requests'를 하는데 request module을 import하는 부분에서 발생하였다.


import requests 
URL = ‘http://google.com'
response = requests.get(URL) 

response.status_code response.text



해당 모듈이 설치되어 있지 않아서 문제가 발생하는 것이다.


그래서 'pip install requests'를 때려줬는데 mac에 pip도 설치가 되어있지않은 걸 발견~pip부터 설치 후 설치해 주었다.


[ mac에 pip설치 및 requests 모듈 설치 ]

> sudo easy_install pip

설치 후 

> pip 

로 확인 후 requests 모듈 설치

> sudo pip install requests



성공적으로 설치되고 나서 다시 실행하니 성공적으로 api요청을 할 수 있었다 :)





반응형
반응형


엘라스틱서치(ElasticSearch)에서 제공하는 API를 통해 데이터를 조회할 때 한번쯤은 'pretty?=true'가 붙어있는 것을 보았을 것이다.


단순히 search의 결과를 보기좋게 출력해주는 파라미터이다. 



[ 'pretty?=true' 사용하지 않고 조회했을 경우 ] 


> curl -XGET http://localhost:9200/logs/_search




[ 'pretty?=true' 사용 ] 


> curl -XGET http://localhost:9200/logs/_search?pretty=true




이미지를 보면 알겠지만 'pretty?=true' 사용하여 조회하는게 훨씬 결과를 보기좋게 볼 수 있다.


콘솔화면에서 데이터 조회시 유용하게 사용할 수 있을 것 같다.

반응형
반응형


신규 맥북(Mac)을 받아 기존에 사용하던 맥북(Mac)에서 사용하던 메모 앱의 파일들을 옮겨야 하는데 


회사규정상 icloud가 막혀있어 되게 난감한 상황이였다. 


그러다가 'exporter'라는 앱을 발견!!! 보아하니 맥북(Mac)의 메모 파일들을 모두 .txt 파일로 추출해준다.


그래서 한 번 사용해봤더니 정말 간편하다:)


https://itunes.apple.com/us/app/exporter/id1099120373?mt=12




다운 받은 후 앱을 켜서 사용해보자!



저기 가운데 별모양을 누르고 맥북의 노트들을 .txt파일로 추출해 저장할 디렉토리만 설정해주면 끄읕~!



작업이 진행되고 작업이 끝나면 추출된 파일을 볼 수 있다.



짜자안~!!!!


맥북(mac)에 메모 파일을 .txt파일로 추출할 일이 있을 때 써보자~





반응형
반응형

화요일(0711)


4일 만에 운동 ㅠㅠ 


등운동 루틴


스미스로우머신-> 랫풀다운-> 데드리프트 -> 백익스텐션 


마무리로 칼로리 소모의 끝판왕 버피!!!



반응형

+ Recent posts