반응형

Dev 52

[Splunk] Splunk 기능 및 용어 설명

Splunk란? 다양한 머신 데이터를 검색, 모니터링 및 경고, 보고 및 분석, 사용자 대시보드 생성이 가능하도록 하는 플랫폼이다. Splunk는 스키마를 사전에 정의하여 사용하지 않고 즉시 생성할 수 있고 RDMS가 불필요하고 필터링이 불필요 하다. Splunk 서버의 local 데이터 뿐만 아니라 Iot 기기, 외부 서버 등 원격 소스의 local 데이터 수집이 가능하도록 유니버셜 포워딩 기능을 제공하는 것이 특징이다. 기존의 RDBMS와의 구조적인 차이점은 Schema가 요구되지 않기 때문에 정의된 구조에 맞도록 데이터를 입력하거나 처음 정의된 구조와 다를 경우 테이블의 구조 자체를 변경 해야 하는 일이 없고 모든 종류의 데이터가 수용이 가능하고 지속적인 변경 또한 수용이 가능하다. 검색을 할 때에..

Dev/Splunk 2017.10.31

[Spark] Spark 설치 및 실행

Spark 설치 1. Apache spark 홈페이지에서 압축 파일 다운로드(https://spark.apache.org/downloads.html) 필요로 하는 spark의 버전이 있다면 1번에서 버전을 선택한 뒤 tgz파일을 다운로드 받는다. 본인은 특정 버전이 필요하지는 않아서 최신 버전으로 바로 설치하였다. 2. 쉘에서 spark를 실행해당 폴더로 이동을 한다. 폴더를 이동한 후 ./bin/sparkshell 명령어를 통해 bin파일의 spark-shell을 실행시키기면 된다. 그런데 이때 또 에러 메세지가 발생했다.😂Exception in thread "main" java.lang.NullPointerException 이 나는 것을 보니 자바 설치가 잘못 되었나 싶어서 다시 설치를 해보았으나 같..

Dev/Spark 2017.10.23

[MySql] 테이블의 character set 확인 및 변경

데이터를 다루다 보면 원하는 데이터로 가공을 하는 과정에서 join이 쓰이는 경우가 많다. 필자도 인턴을 하면서 데이터들을 다루다보면 분산되어 있는 데이터들을 하나의 원하는 데이터로 가공을 하는 과정에서 join을 많이 사용한다. 데이터가 워낙 크다보니 index를 잘 이용해야만 join을 사용하여도 원하는 결과가 나왔다. 같은 스키마를 가진 다른 디비에서 같은 쿼리로 데이터를 join 하면서 select를 하는데 어떤 DB에서는 explain을 통해 보았을 때 index를 잘 타면서 데이터를 빠르게 추출할 수 있지만 어떤 DB에서는 index를 타지 않는 경우가 있었다. 이러한 경우 때문에 한참 멘붕을 겪었었는데 이러한 경우가 문자열값을 가지는 column을 join 하였을 때만 나타났다. 사수님께 여..

Dev/MySql 2017.10.11

[ElasticSearch] ElasticSearch 설치 및 config 확인

참고Elasticsearch는 JVM 기반으로 자바가 깔려 있어야 한다.설치하고자 하는 elasticsearch 버전에 맞는 java 버전이 다르므로 확인을 한 후(https://www.elastic.co/support/matrix) 아래의 과정을 진행하길 바란다.본인의 환경은 java version "1.8.0_144" 와 현재 기준(2017-10-07) 최신 버전인 elasticsearch-5.6.2 와 kibana-5.6.2 버전을 다운받아 사용하였다. Elasticsearch 홈페이지에서 본인의 Java 버전과 OS에 맞는 elasticsearch 다운로드 파일을 설치한다.(https://www.elastic.co/kr/downloads/elasticsearch)압축 파일의 다운로드가 완료되면 압..

Dev/ElasticSearch 2017.08.16

[Python] PyMySQL

python의 MySql 연동 라이브러리 중 PyMySql 라이브러리를 사용하여 보았다. pip 명령어를 통해 python을 쉽게 설치할 수 있다. $pip install PyMySql 터미널에서 python을 실행하여 >>>import pymysql 을 통해 아래의 사진과 같이 에러가 나지 않는 경우 제대로 설치가 되었음을 확인할 수 있다. PyMySql의 설치가 완료되면 아래의 예제와 같이 데이터베이스 서버에 접속하여 데이터를 변경하고, 원하는 데이터를 얻어올 수 있다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import pymysql.cursors # ..

Dev/Python 2017.08.16

[Python] mysql connector

MySql 홈페이지에서 mysql-python connector 라이브러리를 다운을 받는다. (클릭시 링크 연결) 설치가 끝난 후 터미널 창에서 python을 실행하여 라이브러리가 잘 설치 되었는지 확인을 할 수 있다. 라이브러리를 모두 설치하면 데이터베이스에서 데이터를 받아오기 위해 데이터베이스에 접속을 해야 한다. mysql.connector.connect 매서드를 사용해서 연결하고자 하는 데이터베이스의 정보를 통해 데이터베이스에 접속을 하면 된다. 연결과 관련하여 에러가 발생할 수 있으므로 에러 발생을 대비하여 예외처리를 해주는 것이 좋다. 아래 코드 참고import mysql.connector from mysql.connector import errorcode try: #연결할 데이터베이스의 정보..

Dev/Python 2017.07.13

[Python / Crawling]Tweepy를 통해 트위터에서 구어체 문장 수집하기 3

이전 글에서 문제가 있었던 한글 키워드로 트위터를 크롤링하는 경우 함수에서 한글 키워드를 인식하지 못하는 점을 해결하였다. 처음에는 .encode('utf-8')을 통해 한글 문자를 인코딩하여 인자로 넘겨주어어야 하지 않을까 생각을 해보았지만 찾아보다 보니 파이썬은 기본적으로 문자열을 unicode로 인식을 한다. 기본적인 한글 문자열을 입력하지 않고 unicode형식으로 인자를 넘겨주면 문제가 해결 될 것 같아서 u'한글'의 형식으로 수정을 하였더니 원하던 대로 정상적인 작동을 하였다.# -*- coding: utf-8 -*- # 한글 주석을 사용하기 위함 import tweepy consumer_key = 'consumer_key' consumer_secret = 'consumer_secret' ac..

Dev/Python 2017.05.11

[Python / Crawling]Tweepy를 통해 트위터에서 구어체 문장 수집하기 2

Python에서 트위터 API를 사용하기 위해서는 Tweepy 모듈을 설치하여야 한다. 터미널창에서 $pip install tweepy 명령어를 통해 Tweepy 모듈을 설치한다. 위의 사진과 같이 모듈 설치가 완료되면 각자 사용하는 파이썬 편집기에서 import tweepy를 통해 정상적으로모듈을 사용할 수 있다. 이전 글에서는 사용자가 업로드한 트윗들을 출력하는 예제 프로그램이었지만 이번에는 실질적으로 데이터를 수집하기 위하여 원하는 단어가 있는 트윗들을 크롤링하는 코드를 짜보고자 한다. 우리 팀이 원하는 데이터인 구어체가 많이 포함 할 만한 단어로 "그냥", "근데", "했어"이 세가지 단어를 포함하는 트윗들을 크롤링 하고자 한다. (tweepy github를 참조 - https://github.c..

Dev/Python 2017.05.10

[Python / Crawling]Tweepy를 통해 트위터에서 구어체 문장 수집하기 1

졸프팀에서 필요로하는 데이터는 우리가 일상생활에서 사용하는 줄임말 등의 일반 사용자들이 사용할만한 말들이 들어있는 구어체 데이터이다. 그러나 세종말뭉치 등의 데이터에서는 우리가 원하는 데이터를 얻기가 힘들었다. 사용자가 일상생활에서 사용하는 구어체 데이터를 얻기 위해 우리는 SNS를 활용하기로 하였다. 겨울방학동안 인턴 경험에서 배운 웹 크롤링 기술을 통해 데이터를 확보하고자 하였다. 우리가 사용했던 Scrapy나 Beautiful Soup을 사용 할 수도 있지만 트위터 같은 경우는 API를 제공하여 주기 때문에 Python에서 사용할 수 있는 API인 Tweepy를 사용하고자 한다. 먼저 트위터 API를 사용하기 위한 권한을 얻기 위해 https://dev.twitter.com/index 에서 API ..

Dev/Python 2017.05.09

[MySql] 외부에서 접속 가능한 계정 만들기

두번째 숙제인 외부에서 데이터를 저장해주기 위해 MySql에 접근할 수 있는 계정을 만드는 과정을 써보고자 한다. 신기하게도 첫 시작인 MySql에 접속하는 부분에서 부터 문제가 생겼다....(ㅠㅠ) ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2) 이런 에러 메세지가 출력되었다. 구글링을 해보니 나처럼 MySql을 설치한 후인 경우에는 MySql 클라이언트만 설치 된 경우와 MySql이 시작되지 않는 두가지의 상황에 의해서 상황이 발생한다고 한다. MySql을 설치할 때 MySql-server도 같이 설치를 했었으나 혹시 몰라서 rpm -qa | grep ^mysql 명..

Dev/MySql 2017.04.30
반응형