목록교육(KOCW, 오프라인)/빅데이터분산컴퓨팅(하둡에코시스템) (5)
메모장
RDD(Resilient Distributed Dataset) - Resilient: 메모리 내에서 데이터가 손실되는 경우, 다시 생성할 수 있다. - Distributed: 클러스터를 통해 메모리에 분산되어 저장된다. - DataSet: 초기 데이터는 파일을 통해 가져올 수 있다. - RDD는 스파크에서의 기본적인 데이터의 단위 대부분의 스파크 프로그래밍은 RDD를 통한 동작으로 구성된다. RDD생성 방법1. 텍스트파일로 생성ex.sc.textFile("myfile.txt")sc.textFile("mydata/*.log")sc.textFile("myfile1.txt, myfile2.txt") 2. 메모리에 있는 데이터를 통해 생성ex.num = [1,2,3,4]rdd = sc.parallelize(nu..
하둡Hadoop - HDFS -> 스토리지 담당Hadoop - MapReduce -> 계산 담당 흐름Job = HDFS에서 read -> key,value형식 -> Mapper에서 key,value쌍의 형태로 데이터를 읽음 -> Shuffle로 합침 -> [] key,value쌍을 list로 만듬Reduce -> -> HDFS파일로 write MapReduce는 java나 python으로 개발개발Task(driver, mapper, reducer) HIVE탄생배경 - 맵리듀스 프로그래밍은 데이터분석가들이 하기에는 너무 어려움 - 재사용불가, 에러발생율 높음 - 데이터분석가들은 프로그래밍은 못하지만 sql은 사용가능 페이스북에서 HQL이라는 SQL과 유사한 언어로 맵리듀스를 대체할 HIVE를 개발비구조적인..
HDFS의 file저장 방식1. FILE은 block단위로 분할 - 각 block은 기본적으로 64mb 또는 128mb 크기 2. 데이터가 로드 될 때 여러 machine에 분산되어 저장됨 - 같은 file의 다른 block들은 서로 다른 machine에 저장됨 - 이를통해 효율적인 mapReduce처리가 가능 3. block들은 여러 machine에 복제되어 data node에 저장됨 - 기본 replication은 3개- 각 block은 서로 다른 3개의 machine에 저장되어 있다는 것을 의미 4. name node로 불리는 master node는 어떤 block들이 file을 구성하고 있고, 어느 위치에 저장되어 있는지에 대한 정보를 meta data로 관리 네임노드namenode daemon은..
하둡 설치... 하둡 기본 명령어 hadoop fs -ls / - hdfs안에 root 디렉토리의 내용을 봄 cd ~/training_materials/developer/data - change directory로 디렉토리로 경로 변경 tar zxvf shakespeare.tar.gz - shakespeare라는 tar.gz파일을 압축해제 hadoop fs -put shakespeare /user/training/shakespeare (hadoop fs -put(파일복사) local(로컬경로) hdfs(복사할 hdfs경로)) - 로컬파일시스템에 shakespeare 디렉토리를 HDFS상의 /user/training/shakespeare 디렉토리에 복사를 한다 put - 파일 복사 get - 파일 가져옴 ..
하둡의 역사- 1990~2000년 사이 구글에서 연구 기존 분산 컴퓨팅의 문제점을 해결할 수 있는 새로운 접근 방법- reliability와 scalability 문제를 모두 해결- Core concept: 초기 데이터를 시스템에 분산하여 저장- 클러스터의 각 노드가 로컬 데이터에 대한 작업을 처리- initial processing을 위해 네트워크를 통해 데이터가 전송되지 않음 분산처리 시스템문제점1. 복잡한 프로그래밍(데이터와 프로세스의 sync 유지)2. Partial failures: 수많은 컴퓨터를 사용하는 경우 일부의 컴퓨터가 고장나는 경우 파셜 페일러 대처(컴퓨터의 스토리지)데이터 리커버리: 시스템의 컴포넌트가 fail 하더라도 시스템을 통해 작업은 지속적으로 수행 되어야 함- failure..