빅데이터 9

빅데이터_Chapter?_SparkRDD

RDD RDD는 Resilient Distributed Dataset의 줄임말로 스파크의 기본 데이터 구조이다. 분산 변경 불가능한 객체 모음이며, 스파크의 모든 작업은 새로운 RDD를 만들거나 존재하는 RDD를 변형하거나 결과 계산을 위해 RDD에서 연산하는 것을 표현하고 있다. Create RDD RDD를 생성하는 법은 3가지가 있다. 직접 생성 parallelize() 함수를 이용한 RDD 생성 parallelize(c, numClices=None) 기능 : RDD로 구성해줌. C : Interables, numSlices : 분할할 갯수 createDataFrame() 함수를 이용한 RDD 생성 기존데이터를 이용한 생성 read and load를 이용한 RDD 생성 Example paralleli..

빅데이터 2022.06.06

빅데이터_Chapter06_RDD

RDD(Resilient Distributed Dataset) RDD는 스파크가 사용하는 핵심 데이터 모델로서 다수의 서버에 걸쳐 분산 방식으로 저장된 데이터 요소들의 집합이다. 병렬 처리가 가능하고 장애가 발생할 경우에도 스스로 복구될 수 있는 내성을 갖고 있다. RDD에 속한 요소들은 파티션이라 하는 더 작은 단위로 나눠질 수 있는데, 스파크는 작업을 수행할 때 바로 이 파티션 단위로 나눠서 병렬로 처리를 수행한다. 즉, RDD는 분산 데이터 모델이며 내부에는 단위 데이터를 포함하고 있고 저장할 때는 여러 서버에 나누어 저장되며, 처리할 때는 각 서버에 저장된 데이터를 동시에 병렬로 처리할 수 있는 모델이다. Databricks Databricks는 Spark 기반의 분석 플레폼 서비스를 제공한다. ..

빅데이터 2022.05.11

빅데이터_Chapter05_Spark

Spark 하둡에서 하나의 데이터셋이 반복되어 재사용되는 작업의 효율적 처리를 위한 프레임워크에서 탄생한 Spark는 인메모리 기반의 대용량 데이터 고속 처리 엔진으로 범용 분산 클러스터 컴퓨팅 프레임워크이다. Spark는 변환 및 이들 간의 종속성을 나타내는 RDD와 DAG의 개념을 기반으로 구축되었다. 스파크의 특징은 다음과 같다. 빠르고 다양한 데이터 처리 인메모리(In-Memory)기반의 빠른처리 DAG(Directed Acyclic Graph)기반 처리엔진 보유 Ease of Use 다양한 언어 지원(Java, Scala, Python, R)을 통한 사용의 편이성 제공 Java를 제외한 언어에 대해 REPS(Read, Evaluate, Print, Loop)기능의 쉘을 제공 다양한 라이브러리 제..

빅데이터 2022.05.02

빅데이터_Chapter05_Spark 설치 및 환경설정

Apache Spark 3.2.1를 설치하고 환경설정을 진행한다. 스파크 클러스러를 사용하기 위해서는 spark-env.sh spark-defaults.conf, workers를 편집하면 된다. Spark 설치 및 환경설정 # EC2 Ubuntu terminal # 설치 관리용 디렉토리 이동 cd /install_dir # Spark 3.2.1 설치 sudo wget https://dlcdn.apache.org/spark/spark-3.2.1/spark-3.2.1-bin-hadoop3.2.tgz # Spark 3.2.1 압축 해제 sudo tar -xzvf spark-3.2.1-bin-hadoop3.2.tgz -C /usr/local # Spark 디렉토리 이름 변경 sudo mv /usr/local/s..

빅데이터 2022.04.27

빅데이터_Chapter04_Hadoop 설치 및 환경설정

Apache Hadoop 3.2.3를 설치하고 환경설정을 진행한다. 하둡 클러스터를 사용하기 위해서는 hdfs-site.xml, core-site.xml, yarn-sit.xml, mapred-site.xml, Hadoop-env.sh, workers, masters를 편집해야 한다. Hadoop 설치 및 환경설정 # EC2 Ubuntu terminal # 설치파일 관리용 디렉토리 생성 sudo mkdir /install_dir && cd /install_dir # Hadoop 3.2.2 설치 sudo wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.3/hadoop-3.2.3.tar.gz # Hadoop 3.2.2 압축 해제 sudo tar -zxvf h..

빅데이터 2022.04.27

빅데이터_Chapter03_Java 설치 및 환경설정

앞으로 사용할 Hadoop, Yarn, Spark, Zookeeper는 JVM에서 동작하기에 Java가 필수적으로 설치 되어 있어야 한다. 라이브러리 설치 Ubuntu에서 apt-get을 이용해 필요한 라이브러리를 설치한다. # EC2 Ubuntu terminal # 업데이트 목록 갱신 sudo apt-get -y update # 현재 패키지 업그레이드 sudo apt-get -y upgrade # 신규 업데이트 설치 sudo apt-get -y dist-upgrade # 필요 라이브러리 설치 sudo apt-get install -y vim wget unzip ssh openssh-* net-tools Java 8 설치 # EC2 Ubuntu terminal # Java 8 설치 sudo apt-get..

빅데이터 2022.04.27

빅데이터_Chapter06_Zookeeper

Zookeeper란? 주키퍼는 분산 코디네이션 서비스를 제공하는 오픈소스 프로젝트이다. 이러한 어플리케이션의 목적은 개발자가 코디네이션 로직보다는 비즈니스 핵심 로직에 집중하게끔 지원하는 역할을 한다. 주키퍼는 Leader Follower로 구성되는 Master-Slave 아키텍처를 기반으로 구성되어 있다. NameNode에 장애가 발생하면 모든 클라이언트가 HDFS를 사용할 수 없기에 stanby namenode를 둔다. 액티브 네임노드는 네임노드의 역할을 수행하고, 스탠바이 네임노드는 액티브 네임노드와 동일한 메타데이터 정보를 유지하다가, 액티브 네임노드에 문제가 발생하면 스탠바이 네임노드가 액티브 네임노드로 동작하게 됩니다. 액티브 네임노드에 문제가 발생하는 것을 자동으로 확인하는 것이 어렵기 때문..

빅데이터 2022.04.14

빅데이터_chapter02_하둡과 데이터과학

1.하둡이란? 하둡은 2006년 야후의 더그 커팅이 '넛치'라는 검색엔진을 개발하는 과정에서 대용량의 비정형 데이터를 기존의 RDB 기술로는 처리가 힘들다는 것을 깨닫고, 새로운 기술을 찾는 중 구글에서 발표한 GFS와 MapReduce 관련 논문을 참고하여 개발하였다. 하둡은 하나의 좋은 컴퓨터를 이용하여 데이터를 처리하는 대신, 적당한 성능의 범용 컴퓨터 여러 대를 클러스터화하고, 큰 크기의 데이터를 클러스터에서 병렬로 동시에 처리하여 처리 속도를 높이는 것을 목적으로 하는 분산처리를 위한다. 특징으로는 다음과 같다. HW 확장을 위해 장애를 일반적인 현상으로 허용한다. 소프트웨어 수준에서 복원 체계를 구축한다. 병렬처리 노드는 고장날 가능성이 높고 이에 대한 유연한 처리를 위해 Master/Slav..

빅데이터 2022.03.18

빅데이터_chapter01_빅데이터 개요

1.빅데이터의 배경 빅데이터 개념 빅데이터는 양(Volume)이 많고, 증가 속도(velocity)가 빠르며, 종류(variety)가 다양한 데이터이다.이것을 V3라고도 부른다. 간단히 말해, 빅데이터는 특히 새로운 데이터 소스에서 나온 더 크고 더 복잡한 데이터 세트이다. 이러한 데이터 세트는 너무 방대하여 기존의 데이터 처리 소프트웨어로는 관리 할 수 없기에 나온 해결방안이다. 비즈니스 애널리틱스(Business Analytics, BA) 비즈니스 애널리틱스는 비즈니스 기회를 얻기 위하여 데이터를 지속적/반복적으로 조사하고 분석하는 기법, 기술, 응용분야, 실무를 의미한다. 분석은 총 4단계로 설명적 분석, 진단적 분석, 예측적 분석, 예방적 분석과 같이 총 4단계로 이루어져있다. 설명적 분석(des..

빅데이터 2022.03.18