Developers Haven

(DH)블로그는 개발자들이 기술 정보를 찾아볼 수 있는 안식처가 되고 싶음을 희망하여 시작하게 되었습니다. 공부한 내용과 성장 과정을 기록해두었으니 편히 둘러보시길 바랍니다.

Welcome to DH's Blog
반응형

빅데이터 14

Hadoop(하둡)에 대하여

하둡이란 무엇일까? 빅데이터 환경에서 일을 하다보면 Hadoop(하둡)에 대해서 한번쯤은 들어보거나 실제 하둡 환경에서 작업해봤을 것이다. 하둡에 대한 가장 보편적인 정의는 프로그래밍을 통해 컴퓨터 클러스터에서 대규모 데이터를 분산 저장 및 처리할 수 있는 프레임워크이다. 데이터를 분산 처리하면서 데이터 분석을 위한 비용과 시간을 단축시킬 수 있었고, 하둡의 등장으로 빅데이터 분석이 본격적으로 시작되었다. 시간이 지나면서 데이터를 더 효율적으로 처리하기 위해 하둡 버전도 기능을 업그레이드했고, 22년 말 기준으로 버전3(v3)까지 공개되었다. 하둡의 가장 큰 특징은 '분산 저장과 처리'라고 할 수 있는데 처음 접하는 사람에겐 조금 생소한 표현일 수 있다. 이를 좀 더 자세히 이해하기 위해서 하둡의 버전별..

HDFS(Hadoop Distributed File System/하둡분산파일시스템)에 대하여

1. HDFS(Hadoop Distributed File System) HDFS(하둡분산파일시스템)란? 데이터를 블록(block) 단위로 나뉘어 분산 저장하는 파일 시스템을 의미한다. 버전에 따라 기본적인 블록 사이즈는 64MB~256MB이며 원하는 블록 사이즈로 설정할 수 있다.(아래 예시에서는 블록 사이즈가 128MB이라고 가정하고 설명하겠다) 블록 사이즈 보다 작은 파일은 그대로 저장하며, 블록 사이즈 보다 큰 파일은 블록 단위로 나누어 저장하게 된다.(아래 예시 참고) 블록에 대해서 조금 생소할 수 있지만 아래 그림을 한번 참고해보자. 356MB 크기의 파일이 저장될 때 블록 사이즈가 128MB라면 해당 파일은 3개의 블록(128MB + 128MB + 100MB)으로 나뉘어 저장된다. 조금 더 풀..

[빅데이터를 지탱하는 기술] Chapter5.빅데이터의 파이프라인 - (2)

최근에 진행하고 있는 프로젝트에서 단위, 통합 테스트를 진행하며 매일을 바쁘게 살아가고 있는 것 같다. 생각보다 공부 시간을 내기 어렵지만 틈틈히 시간이 날때마다 공부를 하고 있는 요즘이다. 지난 장에서는 워크플로우의 개념에 대해서 알아보았다. 이번 시간에는 워크플로우 실행에서 발생할 수 있는 오류와 이를 신속히 회복할 수 있는 방법에 대해 배워보도록 하자. 1. 워크플로우 관리 도구의 오류 및 회복 방법 1-1. 복구와 플로우의 재실행 복구(recovery)의 필요성 워크플로우 관리 도구를 설계할 때 수많은 오류를 자동으로 회복하긴 어렵다.이러한 이유로 수작업에 의한 ‘복구(recovery)’를 전제로 한 태스크 과정을 설계하게 된다. 위 설계를 통해 워크플로우 실행 과정에서 실패한 태스크는 모두 기록..

[기술서적] 2023.06.02

[빅데이터를 지탱하는 기술] Chapter5.빅데이터의 파이프라인 - (1)

신입 데이터 아키텍처로서 첫 프로젝트를 진행하며 요즘 가장 많이 접하고 있는 용어가 ‘워크플로우(Workflow)’이다. 현재 진행중인 단위테스트에서도 가장 많이 이용되고 있는 부분이 워크플로우이며, 이러한 과정에서 개념을 확실히 알고 넘어가는 것이 중요하다고 생각했다. 마침 본 챕터에서 워크플로우에 대한 설명과 필요한 이유에 대해 서술하고 있으니 제대로 배워보도록 하자. 1. 워크플로우 관리 오늘날과 같은 빅데이터 시대에서는 직접 눈으로 가늠할 수 없을 정도의 방대한 양의 데이터가 쏟아지고 있다. 그만큼 대량의 데이터 처리는 안정적이면서 자동적으로 진행되는 기술이 필요해졌고 이를 위해 등장하게 된 것이 ‘워크플로우’이다. 1-1. 워크플로우의 등장 정해진 업무 프로세스를 원활하게 진행할 수 있도록 업무..

[기술서적] 2023.06.02

[빅데이터를 지탱하는 기술] Chapter4.빅데이터의 축적 - (3)

1. 비구조화 데이터의 분산 스토리지 우선, 지금까지 빅데이터의 분산 스토리지에서 객체 스토리지(Object Storage)의 특징에 대해 알아보았는데 객체 스토리지의 단점에 대해서 먼저 알아보자. 1-1. 객체 스토리지의 단점 객체 스토리지 상의 파일 교체가 어렵다. read한 파일을 통째로 교체해야하기 때문에 수시로 파일을 변경하는 작업에는 적합하지 않다. 객체 스토리지의 데이터를 집계하는 시간이 오래 걸린다. 데이터 집계에 필요한 열 지향 스토리지를 만드는 과정에 시간이 소요된다. 이러한 점으로 인해 데이터를 기록하고 곧바로 활용하기 위해서 (메시지 배송 방식 대신) 실시간 집계와 검색에 적합한 ‘NoSQL 데이터베이스’를 사용하기도 한다. 그럼 NoSQL 데이터베이스의 대표적인 3가지와 각각의 특..

[기술서적] 2023.06.01

[빅데이터를 지탱하는 기술] Chapter4.빅데이터의 축적 - (2)

1. 스트리밍 형 전송에서 메시지 배송의 한계점 스트리밍 형 데이터 전송에서 메시지가 처음 생성되는 기기를 ‘클라이언트(client)’한다. 그러나 클라이언트의 수가 많아져 메시지 배송이 많아지면 성능과 신뢰성 을 모두 보장하기 어려워진다. 이에 대해 조금 더 구체적으로 메시지 배송의 한계점에 대해 알아보자. 1-1. 메시지 배송의 성능 문제를 해결해주는 메시지 브로커 메시지 브로커(message broker) 메시지 배송 시스템에서 데이터를 일시적으로 축적하여 분산 스토리지에 보내주는 역할 메시지 브로커의 역할 외부에서 전해오는 메시지의 양을 제어할 수 없음 → 급격한 메시지의 양의 증가에 대응할 수 있는 능력이 중요 그러나 상황에 따라 스토리지 성능을 자유자재로 변화시킬 수 없으므로 메시지 브로커가 ..

[기술서적] 2023.06.01

[빅데이터를 지탱하는 기술] Chapter4.빅데이터의 축적 - (1)

지금까지의 내용에서는 데이터 파이프라인, 데이터 웨어하우스, 데이터 마트와 같이 전체 데이터 시스템을 설계하기 위해 필요한 개념들에 대해서 알아보았다. 이 챕터에서는 실제 데이터를 수집하고 스토리지에 저장하는 과정에 대해 배워보려 한다. 1. 벌크 형과 스트리밍 형의 데이터 수집 빅데이터 수집 방식에 대해 알아보기 전에 데이터가 저장되는 스토리지에 대한 기본 개념을 알아보자. 1-1. 빅데이터의 객체 스토리지 (1) 객체 스토리지(Object Storage) 객체 스토리지 구조 여러 대의 컴퓨터에서 파일을 여러 디스크에 복사하여 파일을 저장하는 방식 여러 디스크에 데이터를 복사하여 저장하기 때문에 데이터의 중복성을 가지고 있다. 하둡에서의 객체 스토리지는 HDFS 이며, 클라우드 서비스에서는 Amazon..

[기술서적] 2023.06.01

[빅데이터를 지탱하는 기술] Chapter3.빅데이터의 분산 처리 - (2)

하둡 환경에서의 Hive를 통해 쿼리를 작성하는 기본 원리와 Hive 관련 개념을 공부해보자. 1. 쿼리 엔진 1-1. SQL on Hadoop Hive 메타 스토어(Metastore) : Hive에서 만들어진 테이블 정보를 저장해주는 데이터베이스 (1) Hive 외부 테이블 정의 CREATE EXTERNAL TABLE access_log_csv( time string, request string, status int, bytes int ) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.OpenCSVSerde' STORED AS TEXTFILE LOCATION '/var/log/access_log/' TBLPROPERTIES('skip.header.line.coun..

[기술서적] 2023.06.01

[빅데이터를 지탱하는 기술] Chapter3.빅데이터의 분산 처리 - (1)

1. 대규모 분산 처리의 프레임워크 데이터 분야를 공부하다 보면 ‘구조화된 데이터’라는 표현을 한 번씩은 들어봤을 것이다. 데이터가 구조화 되어있다는 표현은 과연 어떤 의미일지 알아보자. 1-1. 구조화 및 비구조화 데이터 스키마 : 데이터베이스 테이블의 칼럼 명, 데이터 타입, 테이블 간의 관계 등을 정의한 구조 구조화된 데이터(structured data) : 스키마가 명확히 정의된 데이터 비구조화 데이터(unstructured data) : 스키마가 정해지지 않은 데이터 조금 더 쉽게 말하자면 데이터의 칼럼(column)이 없거나, 데이터의 타입이 정해져있지 않는 것과 같이 특정한 기준 없이 쌓이는 데이터를 비구조화 데이터라고 생각하면 된다. 1-2. 데이터 구조화 파이프라인 비구조화 데이터를 이용..

[기술서적] 2023.06.01

[빅데이터를 지탱하는 기술] Chapter2.빅데이터의 탐색 - (2)

1. 시각화 도구 단순한 수치 데이터를 읽는 것 만으로는 데이터의 의미를 파악하기 어려울 수 있다. 이를 위해 데이터를 쉽게 이해하고 파악하기 위해서 시각화 도구를 사용하게 되고, 각 상황에 따라 필요한 시각화 도구는 달라질 수 있다. 1-1. 대표적인 시각화 도구 3가지와 특징 (1) 스프레드시트 (장점) 간단한 피벗 테이블부터 크로스 집계, 데이터 시각화가 가능하다. (단점) 대량의 데이터를 취급한 시각화는 어렵다. (2) 대시보드 SQL 쿼리 작성으로 간편한 대시보드 사용이 가능하다. 데이터 검색의 목적 보다는 지속적인 데이터 모니터링을 위해 사용한다. 동일한 쿼리를 정기적으로 반복하여 데이터 현황을 파악하는 목적으로 사용하기 적합하다. (3) 주피터 노트북 특정한 서버 설치 없이 데이터를 시각화하..

[기술서적] 2023.06.01
반응형