목록Computer & Data/Big Data (43)
이야기박스
이전 포스팅에서 하둡, 특히 HDFS란 무엇인가에 대해서 가볍게 알아보았다면, 이번에는 직접 설치해여 몸으로 하둡을 겪어보려고 합니다. Hadoop 시리즈. HDFS 맛보기 하둡 분산형 파일 시스템 (HDFS; Hadoop Distributed File System) HDFS는 대용량 파일을 저장하고 처리하기 위해서 개발된 소프트웨어입니다. 이는 하나의 서버에서만 동작하는 것이 아니라, 다수의 서버에 box0830.tistory.com 포스팅을 구성하면서 어떤 하둡을 설치해볼지 고민을 많이 했었습니다. CDH? HDP? 여러 고민을 하다가 기초 학습을 위해서 오픈소스로 나와있는 Apache Hadoop을 설치해보기로 결정하였습니다. 특히, 최근에 화두로 떠오르고 있는 Hadoop3을 설치해보기로 하였습니..
주키퍼의 간단한 설치 과정을 정리한 포스팅입니다. 설치 wget downloads.apache.org/zookeeper/zookeeper-3.6.3/apache-zookeeper-3.6.3-bin.tar.gz 압축 해제 # 압축 해제 sudo tar -zxvf apache-zookeeper-3.6.3-bin.tar.gz -C /opt # 권한 sudo chown -R deploy. /opt/apache-zookeeper-3.6.3-bin/ # symbolic link sudo ln -s /opt/apache-zookeeper-3.6.3-bin/ /opt/zookeeper sudo chown -R deploy. /opt/zookeeper 경로 생성 # 로그 sudo mkdir -p /var/log/zook..
하둡 분산형 파일 시스템 (HDFS; Hadoop Distributed File System) HDFS는 대용량 파일을 저장하고 처리하기 위해서 개발된 소프트웨어입니다. 이는 하나의 서버에서만 동작하는 것이 아니라, 다수의 서버에서 클러스터링 되어 운영됩니다. 하둡 클러스터의 기본적인 이해 하둡 클러스터는 Master Node, Slave Node 크게 두 가지로 나누어 볼 수 있습니다. # 마스터 노드(Master Node) 잡 트랙커가 맵리듀스를 사용하여 병렬 처리 네임 노드는 하둡 분산 파일 시스템의 데이터 저장 기능 관리 세컨더리 네임 노드는 네임 노드 백업 용도 # 슬레이브 노드 (Slave/Worker Node) 태스크 트랙커 - 잡 트랙커의 슬레이브 데이터 노드 - 네임 노드의 슬레이브 HD..
오늘은 하둡 에코시스템에 대하여 간단하게 정리하는 글을 갖고, 앞으로 여유가 생길 때마다 하둡 구성원들을 하나씩 정리해서 포스팅하도록 하겠습니다. 하둡이란? 대용량 데이터를 여러 컴퓨터에 분산시켜 처리할 수 있는 자바 기반의 오픈 소스 프레임워크 2006년, 야후의 더그 커팅으로부터 비정형 빅데이터 처리를 위해 구글에서 발표한 GFS와 MapReduce 논문을 참조하여 개발되었으며, 이후 아파치 재단의 오픈 소스로 공개되었습니다. Hadoop Ecosystem ecosystem; 생태계. 상호작용하는 유기체들과 또 그들과 서로 영향을 주고받는 주변의 무생물 환경 하둡이 자바 기반의 분산처리 프레임워크라고 바로 위에서 말씀드렸죠. Hadoop Ecosystem이란 하둡을 구성하고 있는 수많은 하위 프로젝트..
# 개요 프로그램에서의 laziness란? 게으른 프로그램? 일반적으로 생각되는 부정적인 의미의 게으름과 프로그램에서 말하는 `laziness`는 다릅니다. 정확하게 필요한 순간, "Smart"하게 동작하는 것! 그것을 프로그램에서의 `laziness`라 말합니다. Lazy initialization - Wikipedia In computer programming, lazy initialization is the tactic of delaying the creation of an object, the calculation of a value, or some other expensive process until the first time it is needed. It is a kind of lazy eva..
# 개요 Dataframe에 위대함을 깨우쳐 봅시다! 라는 게 이 챕터의 핵심입니다. 표현이 아주 거창하죠? 표현이야 어쨌든 굉장히 편리한 건 사실입니다. Dataframe은 스키마와 강력한 API를 제공하니까요. 스파크를 잘 사용하려면 논리적 계층(어플리케이션 계층)과 물리적 계층(하드웨어 계층)을 모두 잘 알아야 합니다. 여기서 Dataframe은 스파크의 논리적 계층을 대표한다고 보면 될 것 같습니다. RDD(Resilient Distributed Dataset)는 스파크의 초기 데이터셋입니다. 이 챕터에서 다루는 Dataframe은 RDD를 기반으로 구성되었습니다. 그리고 앞으로 Spark를 사용하면서 Dataframe과 Dataset, RDD를 끊임없이 다루게 됩니다. Dataframe, Dat..
# 개요 [Databricks 공식 문서; A Tale of Three Apache Spark APIs: RDDs vs DataFrames and Datasets]의 해석본입니다. 각종 오역이 난무할 수 있습니다. 위 글은 spark 2.2 이후의 내용을 다루고 있고 RDD, DataFrame, Datasets의 API 관점에서 작성되었습니다. 특히, spark 2.0에서 Dataframe과 Datasets이 통합되었기 때문에 이 두 API의 내용이 많습니다. 두 데이터 API를 통합한 이유는 Spark API를 간결하고 쉽게 하기 위해서 Structured Data 처리 방법을 하나로 제한하였기 때문입니다. 이렇게 하나의 구조화된 처리는 Spark의 높은 추상화를 제공하고 이는 다양한 언어에서 Spar..
이번 챕터에서는 RDB에서 데이터를 추출하는 내용을 다룸 크게 두 가지 방법 1. 전체 테이블 추출 2. DB에서 특정 동작 후, 추출 (filtering, joining, aggregating 등) # 커넥션 JDBC 드라이버 이용 위 예제처럼 Spark가 DB에 직접 접근하는 것이 아닌 JDBC 드라이버를 통해서 접근 그러므로 JDBC 드라이버의 특징이 고대로 나타남 참고. CHANGE DATA CAPTURE Change data capture (CDC) is a set of software design patterns used to determine (and track) the data that has changed so that action can be taken using the changed ..