본문 바로가기

Distributed Computing for Big Data

(7)
Apache Hive Apache Hive 개요 Apache hive는 MapReduce 기반의 High-level abstraction이다. - HiveQL은 SQL-like 언어를 사용한다. - Hadoop 클러스터에서 MapReduce 잡을 생성한다. - Facebook 에서 데이터 웨어하우스를 위해 개발되었다.(현재는 오픈소스인 Apache 프로젝트) Why Hive? -MapReduce를 직접 작성하는 것 보다 좀 더 생산적이다.(Java로 100라인 작성하는 것 5라인 HiveQL로 구현 가능) -폭 넓은 사용자에게 대용량 데이터를 분석할 수 있는 기회를 제공한다. (소프트웨어 개발 경험이 필요 없음, 기존 SQL 지식을 가진 사용자가 사용 가능) -다른 시스템과의 상호 운용성을 제공한다.(Java나 외부 Scri..
Hive and Pig 숭실대학교 컴퓨터학부 박영택 교수님의 강의를 듣고 정리했다. What is Hive and Pig? Hadoop은 대용량 데이터 처리에 효율적이다. 그런데 모든 작업을 JAVA 또는 Python 으로 작성하는 것은 다소 장황하며, 시간이 오래 걸린다. 또한 모두가 이러한 프로그래밍 언어를 사용하길 바라거나, 사용할 줄 아는 것은 아니다. 그래서 high-level의 데이터처리 언어가 필요했다. 그렇게 개발된 것이 Hive와 Pig 다. 우리는 이 중 Hive를 중점으로 본다. Hive: HQL은 SQL과 유사하다. : Hadoop에서의 데이터웨어하우스 어플리케이션 -쿼리 언어는 SQL의 변형인 HQL을 사용한다. -테이블은 HDFS에 flat file 형태로 저장된다. -Facebook에서 개발되어 현재..
How Hadoop Works (Computation) 숭실대학교 컴퓨터학부 박영택 교수님의 강의를 듣고 정리했다. What is MapReduce? 여러 노드에 태스크를 분배하는 방법 각 노드 프로세스 데이터는 해당 노드에 저장 (가능한 경우) 두 단계로 구성(Map, Reduce) MapReduce는 fork-join이다. f라는 task를 할 때 일을 나누고(fork), 다시 합치는(join) 방식이다. 예를 들어 Alphago와 이세돌에 관한 글에서 알파고라는 단어와 이세돌이라는 단어가 각각 몇 번 쓰였는지 확인하는 작업을 하겠다. 긴 text를 64MB의 block으로 자르고, 각각의 block마다 Alphago가 몇 번, 이세돌이 몇 번 나왔는지 확인한다. 이후 block을 합치며 alphago의 언급 횟수를 합치고, 이세돌의 언급 횟수도 똑같이 ..
How Hadoop Works (Storage) 숭실대학교 컴퓨터학부 박영택 교수님의 강의를 듣고 정리했다. HDFS Basic Concepts *HDFS는 JAVA로 작성된 파일 시스템 -google의 GFS 기반 *기존 파일 시스템의 상위에서 동작 -ext3, ext4 or xfs HDFS의 file 저장 방식 file 은 block 단위로 분할 (각 block은 기본적으로 64MB 또는 128MB 크기) 그런데 file이 이 block의 크기보다 작을 때, block 크기 전체를 사용하지는 않는다. 데이터가 로드 될 때 여러 machine에 분산되어 저장됨(같은 file의 다른 block들은 서로 다른 machine에 저장됨, 이를 통해 효율적인 MapReduce 가능) block들은 여러 machine에 복제되어 data node에 저장됨(기본..
Starting Hadoop with virtual box 숭실대학교 컴퓨터학부 박영택 교수님의 강의를 듣고 정리했다. 1. Installing, preparing oracle - virtual box (https://www.virtualbox.org/wiki/Downloads) cloudera - CDH (https://www.cloudera.com/) 링크로 들어가서 사양에 맞는 virtual box와 CDH를 설치한다. virtual box를 실행한 후, 파일-> 가상 시스템 가져오기 -> cloudera-quickstart-vm- .....ovf 가상 시스템 설정에서 RAM을 최대한으로 잡는다. (최소 4096MB , 그렇지 않으면 제대로 돌아가지 않을 가능성이 있다.) 그런 다음 왼쪽에 뜨는 cloudera-quickstart 를 클릭하여 시작한다. 시..
What is Hadoop? 컴퓨터가 발전하고, 처리해야할 데이터의 양이 많아지면서 빅데이터를 저장, 처리, 분석할 수 있는 소프트웨어 프레임워크가 필요해졌다. 이후 구글에서 이러한 프레임워크를 만들었지만 공개하지 않았다. 그래서 공개 소프트웨어를 만드는 비영리조직 Apache에서 Hadoop이라는 빅데이터를 저장, 처리, 분석 할 수 있는 소프트웨어 프레임워크를 만들었다. (더그 커팅과 마이크 캐퍼렐라가 개발. 더그 커팅은 당시 야후에 있었는데 이후 아파치 재단으로 넘어가 공개 소프트웨어로 개발되고 있다.) 빅데이터 저장, 처리, 분석 하는 소프트웨어 프레임워크의 특징 Distributed: 수십만대의 컴퓨터에 자료 분산 저장 및 처리 Scalable: 용량이 증대되는 대로 컴퓨터 추가(컴퓨터 100대를 이용하다가, 데이터의 용량..
Introduction 숭실대학교 컴퓨터학부 박영택 교수님의 강의를 듣고 정리했다. Distributed Computing for Big Data using Hadoop 하둡을 이용한 빅데이터 분산 컴퓨팅 Install oracle - virtual box (https://www.virtualbox.org/wiki/Downloads) cloudera - CDH (https://www.cloudera.com/)