글
[R] 기본 군집 분석 방법
/0 코멘트/카테고리: 빅데이터 /작성자: 관리자
|
#— 데이터 준비
data <- iris[, 1:4] #— 원본 데이터
cls <- iris[, 5] #--- 원본 데이터의 분류
group <- 3 #--- 군집수, Clustering - 군집수 결정 참조
#--- 군집 분석 (아래에서 한가지 선택)
library(stats)
m <- kmeans(data, group) #--- K-평균군집
library(cluster)
m <- pam(data, group) #--- PAM (Partitioning Around Medoids)
library(cluster)
m <- fanny(data, group) #--- Fuzzy Clustering
library(fpc)
m <- dbscan(data, eps = 0.5), MinPts = 5) #--- Density-based Clustering
#— eps : Maximum distance
#— MinPts : 최소 데이터 개수
#— eps 범위내에 MinPts 개수의 데이터가 있으면 군집으로 분류
#--- data로부터 군집 산정
pred <- m$cluster
|
CentOS에서 ElasticSearch 설치
/0 코멘트/카테고리: 빅데이터 /작성자: 관리자
|
yum -y install java-1.7.0-openjdk
java -version
|
|
cd install
wget https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.2.0.tar.gz
tar -xvzf elasticsearch-1.2.0.tar.gz
chown -R hduser:hdgroup elasticsearch-1.2.0
mv elasticsearch-1.2.0 /nas/appl/elasticsearch
|
|
export ELASTICSEARCH_HOME=/nas/appl/elasticsearch
export PATH=$PATH:$ELASTICSEARCH_HOME/bin
|
|
cd /nas/appl/elasticsearch
mkdir data
mkdir logs
chown hduser:hdgroup data logs
|
|
cluster.name: elasticsearch
node.name: "node201"
path.data: /nas/appl/elasticsearch/data
path.logs: /nas/appl/elasticsearch/logs
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: [“node201”]
bootstrap.mlockall: true
|
|
su – hduserelasticsearch #— Foreground로 실행
elasticsearch -d #— Daemon으로 실행
curl localhost:9200 #— 서비스 확인
|
Flume 개요
/0 코멘트/카테고리: 빅데이터 /작성자: 관리자Flume은 Hadoop 빅데이터 환경에서 준 실시간으로 데이터 수집을 위해서 사용 됩니다. 기본적으로 제공하고 있는 Source, Channel, Sink는 설정을 통해서 간단하게 사용할 수 있으며 구성이 간단하므로 Customize을 통한 확장이 용이 합니다.
Flume Architecture
Source |
|
Interceptor |
|
Channel Selector |
|
Channel |
|
Sink |
|
Sink Processor |
|
Source/Channel/Sink 종류
Source |
Channel |
Sink |
Avro : Avro 프로토콜로 수집 | Memory : Memory 사용 | Avro : Avro 프로토콜로 전송 |
Thrift : Thrift 프로토콜로 수집 | JDBC : DB 사용 | Thrift : Thrift 프로토콜로 전송 |
Syslog : Syslog 프로토콜로 수집
|
File : File 사용 | IRC : IRC 프로토콜로 전송 |
HTTP : HTTP 프로토콜로 수집 | ElasticSearch : Elastic에 저장 | |
JMS : JMS 프로토콜로 수집
|
MorphlineSolr : Solr에 저장 | |
NetCat : TCP/IP 데이터 수집 | HDFS : HDFS에 저장 | |
Exec : Linux 명령어로 수집 |
HBase : HBase에 저장
|
|
Spooling Directory : 폴더에 신규로 추가된 파일 수집 | Logger : 테스트 또는 디버깅을 위해 로깅 | |
Sequence Generator : 0부터 1씩 증가하는 event 생성 | File Roll : 파일로 저장 | |
Legacy : 이전 버전의 Flume으로부터 데이터 수집
|
Null : 아무 일도 하지 않음 | |
Custom | Custom | Custom |
하둡 업무 영역과 Architecture
/0 코멘트/카테고리: 빅데이터 /작성자: 관리자하둡에서 한글 사용 설정
/0 코멘트/카테고리: 빅데이터 /작성자: 관리자문자셋과 인코딩
문자셋 (charset, Character Set)
하나의 언어권에서 사용하는 언어를 표현하기 위한 모든 문자(활자)의 모임을 문자셋이라고 합니다. 다시 말하면 우리가 얘기하는 언어를 책으로 출판할 때 필요한 문자(활자)를 모두 모은 것이라고 보면 됩니다. 그러므로 부호와 공백 등과 같은 특수 문자도 문자셋에 포함 됩니다. 영어의 경우 알파벳 대소문자와 특수 문자 등으로 간단하게 문자셋을 구성할 수 있지만 한글의 경우 출판에서 가나다 등으로 출판함으로 훨씬 다양한 문자셋을 가지고 또한 한자를 병행해서 사용함으로 문자셋의 범위는 더욱 넓어 집니다.
- 추상적인 글자 셋으로 여러개의 인코딩을 가질 수 있습니다.
- MIME 문자셋은 IANA에서 정의하며 인터넷 및 XML 파일에서 사용 합니다.
인코딩 (encoding)
인코딩은 문자셋을 컴퓨터가 이해할 수 있는 바이트와의 매핑 규칙 입니다. 예를 들면 ASCII Code에서 ABC 등은 문자셋이고 A는 코드 65, B는 코드 66 등 바이트 순서와 매핑한 것이 인코딩 입니다. 따라서 문자셋을 어떻게 매핑 하느냐에 따라 하나의 문자셋이 다양한 인코딩을 가질 수 있습니다.
- 추상적인 문자셋을 구체적인 bit-stream으로 표기하는 방법 입니다.
- 여러가지 문자셋을 동시에 표시할 수 있습니다.
- 대부분의 인코딩에서는 대소문자를 구분하지 않습니다.
- 대한민국에서 가장 많이 사용하는 인코딩은 “UTF-8”, “KSC5601”, “ISO-8859-1” 입니다.
문자셋(인코딩)의 예
- 한글 : 8bit KSC5601 (8bit EUC-KR, 7bit ISO-2022-KR, ISO-2022-Int)
- 영문 : KSC5636, US-ASCII (둘 간의 차이는 화페 단위 뿐)
- 한글+영문 : KSC5861 (EUC-KR), KSC5636 + KSC5601를 모두 포함한다.
- 유니코드 : 4byte Unicode < ISO-10646 UCS (ISO-8859-1, UTF-8, UTF-16)
문자셋과 인코딩은 동일한 명칭을 가질 수 있어 서로 혼용하여 사용되는 경우가 많습니다.
EUC-KR은 원래 유닉스용 표준이었는데 인터넷으로 확장되어 사용 됩니다.
KSC5601은 인터넷에서 원활한 한글(완성형) 사용을 위하여 정의된 표준 입니다.
EUC (Extended UNIX Code), UTF (UCS Transformation format)
Java에서 문자셋과 인코딩 설정
일반적으로 LANG 환경 변수를 설정해 주면 자동으로 설정 됩니다.
locale -a : Linux 명령어로 지원 가능한 encoding을 확인 합니다.
csh |
set LANG ko setenv LANG ko |
ksh |
LANG=ko export LANG |
JVM 옵션 설정 (UTF-8, ISO-8859-1, KSC5601)
-Dfile.encoding=8859_1 : 필수 항목
-Dfile.client.encoding=8859_1
-Dclient.encoding.override=8859_1 : JVM 버전에 따라 (사용 안함)
Hadoop에서 문자셋과 인코딩 설정
Hadoop은 Job을 실행 시키는 환경과 각각의 task가 실행되는 환경이 동일하지 않을 수 있습니다. Map task와 Reduce task는 디폴트 설정이 별도의 JVM에서 실행이 됩니다.
MapReduce의 task에서 한글을 사용하기 위해서는 인코딩을 아래와 같이 설정해 주세요.
vi conf/mapred-site.xml
<?xml version=”1.0″?> <?xml-stylesheet type=”text/xsl” href=”configuration.xsl”?> <configuration> <property> <name>mapred.child.java.opts</name> <value>-Xmx200m -Dfile.encoding=UTF-8 -Dfile.client.encoding=UTF-8 -Dclient.encoding.override=UTF-8</value> </property> </configuration> |
회사소개 |
이용약관 |
개인정보취급방침 |
이메일수집거부
회사소개서(pdf) |
|
(주)오비컨 | 대표이사 김계현 | 사업자등록번호 : 363-88-00802 | 통신판매업신고번호 : 제2020-성남분당A-0642호
주소 : (13638) 경기도 성남시 분당구 성남대로2번길 6(구미동) 333호 (구미동, LG트윈하우스) |