반응형

출처:https://may9noy.tistory.com/470

1. 첫번째 방법

첫번째 방법 사용 시 주의 사항 :  'my_table.csv' 파일명에 my.ini의 secure-file-priv 경로를 같이 적어야 정상적으로 파일이 export 되는 경우가 있음.

파일명 : MySQL table into CSV file 1.sql

SELECT * FROM my_table
INTO OUTFILE 'my_table.csv'
CHARACTER SET euckr
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'

2. 두번째 방법

파일명 : MySQL table into CSV file 2.sql

SELECT * FROM (
    (
        SELECT
            '필드1' AS 'filed_1',
            '필드2' AS 'filed_2'
    ) UNION (
        SELECT
            filed_1,
            filed_2
        FROM my_table
    )
) AS mysql_query
INTO OUTFILE 'my_table.csv'
CHARACTER SET euckr
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
ESCAPED BY '\\'
LINES TERMINATED BY '\n'

3. 세번째 방법 (소량의 데이터 대상)

파일명 : MySQL table into CSV file 3.sh

mysql -p my_db -e "SELECT * FROM my_table" | sed 's/\t/","/g;s/^/"/;s/$/"/;' > my_table.csv

4. 네번째 방법

파일명 : MySQL table into CSV file 4.sh

#!/bin/bash
 
db=YOUR_DB
user=YOUR_USER
pass=YOUR_PASS
 
for table in $(mysql -u$user -p$pass $db -Be "SHOW tables" | sed 1d); do
  echo "exporting $table.."
  mysql -u$user -p$pass $db -e "SELECT * FROM $table" | sed 's/\t/","/g;s/^/"/;s/$/"/;' > $table.csv
done

- 끝 - 

 

반응형
반응형



the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured 오류 해결 하기


./elasticsearch 를 실행시키자 아래와 같은 오류가 나온다. 

이번엔 설정 방법도 달라졌나보다;;



[2019-09-30T20:12:48,973][INFO ][o.e.b.BootstrapChecks    ] bound or publishing to a non-loopback address, enforcing bootstrap checks

ERROR: [1] bootstrap checks failed

[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured




discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes 셋 중에 하나는 세팅하라고 해서

가이드 문서를 따라 seed_hosts 를 아래와 같이 설정해봤다. 


discovery.seed_hosts: ["127.0.0.1", "[::1]"]



그렇지만 이제 warning 메세지가 ㅠㅠ



[2019-09-30T20:39:00,499][WARN ][o.e.c.c.ClusterFormationFailureHelper] [dd] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and [cluster.initial_master_nodes] is empty on this node: have discovered [{dd}{FI-RklyNRN-xTlMDTDBgSA}{m592KpzdSTiLMt9RkycrdA}{ ... ; discovery will continue using [127.0.0.1:9300, [::1]:9300] from hosts providers and  .... {121.78.145.40}{121.78.145.40:9300}{dim}{ml.machine_memory=135097606144, xpack.installed=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0


결국 검색해서 initial_master_nodes 까지 설정한 후에야 제대로 시작할 수 있었다. 


참고: https://linuxacademy.com/community/show/36639-elasticsearch-yml-changes-70/




node.name: master1

discovery.seed_hosts: ["127.0.0.1", "[::1]"]
#
# Bootstrap the cluster using an initial set of master-eligible nodes:
#
cluster.initial_master_nodes: ["서버ip"]


참고: https://linuxacademy.com/community/show/36639-elasticsearch-yml-changes-70/


# curl 'localhost:9200'

{

  "name" : "master1",

  "cluster_name" : "elasticsearch",

  "cluster_uuid" : "EgSc9q3mSC2URKZWBZC4FQ",

  "version" : {

    "number" : "7.3.2",

    "build_flavor" : "default",

    "build_type" : "tar",

    "build_hash" : "1c1faf1",

    "build_date" : "2019-09-06T14:40:30.409026Z",

    "build_snapshot" : false,

    "lucene_version" : "8.1.0",

    "minimum_wire_compatibility_version" : "6.8.0",

    "minimum_index_compatibility_version" : "6.0.0-beta1"

  },

  "tagline" : "You Know, for Search"

}





참고 : 

https://www.elastic.co/guide/en/elasticsearch/reference/7.3/discovery-settings.html


nori : 


https://www.elastic.co/guide/en/elasticsearch/plugins/6.4/analysis-nori-tokenizer.html#analysis-nori-tokenizer

https://www.elastic.co/guide/en/elasticsearch/plugins/6.4/analysis-nori.html



출처: https://kugancity.tistory.com/entry/elasticsearch-632-설치하기 [you've got to find what you love.]

반응형
반응형

출처:http://egloos.zum.com/greentec/v/4176464



요즘 coursera 에서 data science 관련 강의들을 듣고 있다. 그런데 통계 프로그램인 R에서 xlsx 파일을 로드하기 위해 xlsx 패키지를 설치하려고 하자 


패키지 ‘rJava’는 로드되어질 수 없습니다

라는 메시지와 함께 로드가 제대로 되지 않았다. rJava를 remove 했다가 다시 설치해봐도 제대로 되지 않고, 구글링을 해보니 한글로는 네 개 정도의 답변이 있었는데 약간 헷갈리게 적혀 있고, 영어로 보니 답변이 잘 달려 있어서 여기에 옮겨 놓는다.


요약하면 R의 32, 64 비트 여부와 Java의 32, 64 비트 여부가 서로 달라서 문제가 일어나는 것이다. R을 켤 때 다음과 같은 메시지가 나오기 때문에 R의 버전은 쉽게 확인할 수 있다.

R version 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
Copyright (C) 2014 The R Foundation for Statistical Computing
Platform: x86_64-w64-mingw32/x64 (64-bit)

Java는 보통 C:\Program Files (x86)\Java 에 있으면 32비트이고, C:\Program Files\Java에 있으면 64비트이다. 위 글에도 나온 것처럼 http://www.java.com/en/download/manual.jsp 이 곳에서 32비트와 64비트 중 원하는 Java 버전을 다운받을 수 있다.

모든 것이 완료되면 다음과 같이 깔끔하게 로딩이 완료된다.




반응형
반응형

출처: http://bigbigdata.tistory.com/78 [데이터 긁긁해]


KoNLP패키지와 wordcloud패키지를 이용해

한글 WordCloud 만들기


빈도수가 높은 단어일수록 크게 나타내는 WordCloud 





[셋팅하기]

KoNLP 패키지와 wordcloud패키지를 설치하고, 로딩한다.  

install.packages("패키지이름")

library(패키지이름)


한글이 저장되있는 세종사전을 사용합니다. R이 한글을 분석할 때 이 사전을 참고해야 하니까. 

useSejongDic()

그리고 사전에 특수한 명칭같은 단어들이 필요하다면 추가해준다. 

mergeUserDic(data.frame("해수욕장","ncn"))



1. 텍스트에서 명사만 골라내기 


명사만 골라낼 때, KoNLP 패키지의 extractNoun 함수를 사용한다. 


① 각 줄에서 단어만 남기기 


data = sapply(txt, extractNoun, USE.NAMES=F)


이렇게 되면 extractNoun함수에 의해서 각 줄마다 단어만 남게 된다. 

예를들면 


1번째 줄 : "초콜렛" "과자" "사먹"

2번째 줄 : ""

3번째 줄 : "저희" "실험"

....


이런식으로 되게 된다. (물론 저렇게 ~~째줄 이런식으로 나오진 않는다. [[1]] [1] .. 이렇게나옴)

아무튼 여러줄로 구성되있는 텍스트 데이터에서 각 줄마다 해당 줄의 단어만 남게 된다는 것이다. 줄별로



② 단어만 가져가기 (단어뭉치 만들기) + 두글자 이상 단어만 남기기 


어쨌든 작업을 하려면 이상태로 있으면 안된다. 작업을 위해서는 단어들만 필요하다. 

줄 순서에 상관없게 단어들만 가져오려면 unlist 메소드를 이용한다. 

 - unlist에 대한 자세한 설명은 여기서 확인하기 (http://rfunction.com/archives/2238)


undata = unlist(data)

이렇게 되면 undata는 순수하게 단어들만 들어있는 단어뭉치가 된다. 


그리고 추가로, 두글자 이상의 단어만 작업하기 위해 필터링을 해준다. 


data = Filter( function(x){nchar(x)>=2},undata)

Filter함수를 이용해 

첫번째 인자인 필터링 조건은 사용자함수로 만들어줬고, 

두번째 인자인 필터링할 데이터에 unlist작업한 단어뭉치를 넣어준다. 



2. 원하지 않는 내용 걸러내기 


gsub 함수를 이용해 원하지 않는 내용을 걸러내버린다. 

원하지 않는 내용을 "" 즉 아무것도 아닌것으로 바꿔버릴거다. 


gsub("원하지않는내용", "뭘로바꿀건지", 데이터)


예를들면 

data = gsub("질문","",data)

이렇게 .. 


그럼 이제 data는 2글자 이상이고 내가 원하지않는 단어는 걸러내버린 단어뭉치가 된다. 



3. 다듬은 단어뭉치를 txt파일로 저장하고 table형태로 다시 가져오기 


이제 이렇게 다듬은 단어뭉터기를 txt파일로 저장하고

write(unlist(data),"new_data.txt")

이 파일을 다시 테이블형식으로 변환해 가져온다

table_data <-read.table("new_data.txt")


테이블 형식으로 가져온 table_data 를 확인해보면

101 피자

102 맛있습니다

103 미래 

...

이런식으로 넘버링 - 단어 이렇게 저장된걸 확인할 수 있다. 


테이블형태로 변환해서 저장해주잣

wordcount<-table(table_data)


4. WordCloud 형태로 그래픽 출력하기


열심히 다듬은거를 wordcloud로 출력한다. 


wordcloud(names(wordcount), freq=wordcount, scale=c(5,1), rot.per=0.25, min.freq=1, random.order=F, random.color=T, colors=brewer.pal(9,"Set1"))


그 전에 화면에 컬러 출력인 colors옵션값의 brewer를 쓰기 위해서는 RColorBrewer 라이브러리를 로딩해야한다. 


이렇게 wordcloud 명령을 내리면 두두두둔 결과물이 뜬다. 


저장은 savePlot으로 해주면 된다. 








위 내용은 R까기 책을 공부하면서 <Part1 비정형데이터로 wordcloud생성하기> 파트를 공부한 내용을 요약한 것입니다!! 


R까기

저자
서진수 지음
출판사
느린생각 | 2014-06-20 출간
카테고리
컴퓨터/IT
책소개
이 책은 이 세상에 다양한 형태로 존재하는 빅데이터를 쉽고 빠르...
가격비교



이미지 출처

http://onertipaday.blogspot.kr/2011/07/word-cloud-in-r.html



반응형

+ Recent posts