분류 전체보기 88

[빅데이터] 5. 빅데이터 처리와 저장의 핵심 기술, 하둡과 NoSQL (1)

하둡과 NoSQL에 대한 소개가 있는 장이다. 제법 많은 페이지를 할당해 소개하고 있어 앞선 3, 4장과 같이 파트를 나눠서 기록하려 한다. 1. 하둡이란 무엇인가? 하둡(Apache Hadoop, High-Availability Distributed Object-Oriented Platform)은 데이터가 늘어날 수록 대용량 저장소와 빠른 처리를 위한 고성능을 요구하는 수직적 확장방식의 중앙집중식이 아니라, 다수의 범용 컴퓨터들로 분산하여 저장하고 처리하는 수평적 확장방식의 분산처리 플랫폼이다. 하둡은 빅데이터 처리를 보장하는 검증된 플랫폼이다. 하둡은 대량의 자료를 처리할 수 있는 큰 컴퓨터 클러스터에서 동작하는 분산 응용 프로그램을 지원하는 프리웨어 자바 소프트웨어 프레임워크이다. 원래 너치(Apa..

<記> R 연산자

R의 연산자 우선순위 높은 것부터 낮은 순으로, 왼쪽부터 오른쪽으로 연산순위가 매겨진다. 연산자 뜻 추가 설명 [ [[ 인덱스 좌우 쌍으로 사용(예. [3], [[2]]) :: ::: 이름 공간(name space)에 있는 변수에 접근하기 $ @ 요소 뽑아내기, 슬롯 뽑아내기 ^ 지수 - + 단항 마이너스와 플러스 부호 : 수열 생성 n:m 수열 n, n+1, n+2, ..., m을 생성 %any% 특수 연산자 %/% 나눗셈 몫만 출력 * / 곱하기, 나누기 + - 더하기, 빼기 == != = 비교 같다, 다르다, 크다, 작다 등 ! 논리 부정 not의 의미 & && 논리 "and", 단축(short-circuit) "and" (논리 곱) | || 논리 "or", 단축(Shor-circuuit) "or"..

해보記/R 2019.12.06

<記> R List

리스트(List) 리스트는 서로 다른 형태(mode)의 자료를 포함하는 하나의 객체이다. list( ) > li li[[1]] # [[1]] : 첫 번째 성분 > mat1 list1 son length(son) # 리스트 자료의 개수 > mode(son) # 리스트 자료의 형태 > names(son) # 리스트 각 구성요소의 이름 리스트의 성분 추출 기본적인 성분 추출 방법은 [[ ]]를 사용하여 성분의 index를 이용하는 방법이다. 만약 성분의 이름을 지정하였다면 $ 연산자를 이용하여 특정 성분을 추출할 수 있다. 단 성분의 원소를 추출하는 경우에는 [ ]를 사용한다. > exm exm[[2]] # 리스트의 2번째 성분 > exm[[2]][2] # 2번째 성분 중 2번째 원소 > names(exm) ..

해보記/R 2019.12.05

<記> R data.frame

데이터 프레임(data.frame) 데이터 프레임은 행렬과 비슷한 형태로 되어있다. 행렬(matrix)은 행과 열의 차원으로 표시되며 숫자, 문자, 논리형 등 같은 형태(mode)의 객체를 가지는 반면, 데이터 프레임은 각 열(column)들이 서로 다른 형태(mode)의 객체를 가질 수 있고, 범주형 변수를 가질 수도 있기 떄문에 범주형 자료분석에도 유용하게 사용된다. data.frame( ) # 이미 생성되어 있는 벡터들을 결합하여 데이터 프레임을 생성 > char1 num1 test1 a1 dim(a1) test3 df1 df1[, "Col3"] > df1[1, ] > df1[3, "Col1"]

해보記/R 2019.12.04

<記> R Array

배열(Array) 배열(Array)은 행렬을 2차원 이상으로 확장시킨 객체로써 2차원의 구조를 갖는 행렬도 배열의 한 종류이다. 그러나 일반적으로 3차원 이상의 차원을 갖는 데이터 객체를 배열이라 부른다. array( ) 행렬의 속성과 같이 자료의 개수를 나타내는 length, 형태를 보여주는 mode, 각 차원의 벡터의 크기를 나타내는 dim, 그리고 각 차원의 리스트 이름을 나태내는 dimnames로 구성된다. # 배열의 생성 > array(1:6) # 1~6 자료로 1차원 배열 생성 > array(1:6, c(2, 3)) # 1~6 자료로 2차원 배열 생성 > array(1:8, c(2, 2, 2)) # 1~8 자료로 3차원 배열 생성 dim( ) > arr dim(arr) ary1 ary2 ary..

해보記/R 2019.12.03

<記> R Matrix

행렬(Matrix) 행렬(Matrix)은 동일한 형으로 구성된 2차원이 데이터 구조이다. 행의 차원과 열의 차원을 갖는 행렬은 수학에서의 행렬과는 달리 문자형이나 논리형 등을 원소로 사용할 수 있다. 그러나, 행렬의 원소는 한가지 형의 자료로만 구성되어야 한다. matrix( ) # 행렬(matrix)는 여러 변수들이 이차원적으로 모여 있는 개체로, 행렬을 생성하기 위해서는 matrix() 함수를 사용한다. > matrix(1:9, nrow=3) # nrow : 행의 개수 지정 # ncol : 열의 개수 지정, byrow=T : 행 기준 행렬을 생성 > matrix(c(1, 4, 7, 2, 5, 8, 3, 6, 9), byrow=T, ncol=3) 행렬에서의 데이터 추출 > mat mat[1, ] # 행..

해보記/R 2019.12.03

<記> R Vector

앞서 R에서 사용하는 데이터의 유형과 데이터 구조에 대해 간단하게 알아보았다. 2019/11/20 - [해보記/R] - R 데이터 유형과 데이터 구조 벡터(Vector)에 대해서도 간단하게 알아보았다 2019/11/19 - [해보記/R] - R 변수와 벡터 벡터를 비롯한 매트릭스, 배열, 데이터 프레임, 리스트 등에 대해서도 차차 더 알아보기로 하자. 벡터(Vector) 한 개 이상의 원소로 구성된 자료 구조로서 R의 '데이터 셋'(data set) 중에서 가장 기본이 되는 '데이터 셋'이다. 수치형 또는 문자형, 논리형 데이터를 원소(벡터의 원소는 한가지만 가능)로 하는 1차원의 배열 형태를 가진다. c( ) 함수 하나의 벡터에는 다른 형태의 데이터가 원소로 구성될 수 없다. 수치형 벡터는 정수, 실수..

해보記/R 2019.12.02

<記> CentOS 7에 PostgreSQL 12 설치하기

현재 구성하고 있는 서버에는 이미 CentOS를 설치할 때 패키지로 설치된 PostgreSQL이 있다.(솔직히 언제 어떻게 설치했는지 기억이 나질 않는다... ㅡㅡ; 그냥 패키지로 설치되었다 추측하고 있다.) # PostgreSQL 버전 확인 $ /usr/bin/postgres --version 기존에 설치되어 있는 PostgreSQL 9.2.24를 삭제하고 최신 버전의 PostgreSQL(11 이상)을 설치하려 한다. 1. PostgreSQL 9.2.24 삭제하기 먼저 service로 등록되어 실행되고 있는 PostgreSQL을 확인합니다. # 실행 서비스 확인 $ systemctl list-unit-files --type=service 그냥 이렇게 조회하면 너무 많이 나와 계속 스페이스를 눌러야 하죠..

해보記/Server 2019.12.02

<記> R Data Input/Output - 파일에 데이터 저장하기

파일에서 데이터를 가져오는 것에 이어서 파일에 데이터를 저장하는 것도 살펴보자. 데이터 Export 파일에 데이터를 저장하는 방법들 중 wrtite.table, write.csv 함수에 대해서 살펴보자. 우선 Export 하는데 이용할 데이터를 생성하고, 생성된 데이터를 파일로 저장하는 순서로 진행한다. # 샘플데이터 생성 # 난수 생성기의 seed 값 > n DT head(DT) #tail 함수로 DT에 있는 데이터의 뒤 몇개 데이터 조회 > tail(DT) write.csv() # write.csv() 함수로 CSV 파일에 저장하기 # DT의 데이터를 'out_test.csv' 파일에 저장한다. > write.csv(DT, "C:\\R_WD\\out_test.csv", sep=",", row.name..

해보記/R 2019.11.29

<記> R Data Input/Output - 파일에서 데이터 가져오기

R, RStudio를 이용해 데이터를 분석하기 위해서는 먼저 데이터를 R로 가져와야 한다. .csv 형태의 정형 데이터를 읽어서 R의 오브젝트에 입력하거나, 오브젝트의 내용을 .csv 파일로 내보내거나, DB에서 데이터를 읽어 오거나 또는 DB로 데이터를 저장하는 등의 데이터 I/O에 대해서 살펴보자. 데이터 Import 파일에서 데이터를 가져오는 방법은 다양하다. CSV(Comma-Separated Values)는 확장자의 뜻 그대로, 여러가지 필드를 컴마(쉼표 ,)로 구분해 놓은 정형화된 텍스트 데이터 파일이다. 예제 파일은 앞서 산점도에서 사용했던 데이터('hfda_ch09_employees_kr.csv')에서 20건의 데이터만 가져다 새로 생성한 'C:\\R_WD\\io_test.csv' 파일을 ..

해보記/R 2019.11.28