본문 바로가기

Coursera 강의 정리

(21)
S3 Managing Big Data in Clusters and Cloud Storage - W4 Managing Datasets in Clusters and Cloud Storage Modern Big Data Analysis with SQL 특화 과정 중 세 번째 강의 Managing Big Data in Clusters and Cloud Storage의 네 번째 주차 Managing Datasets in Clusters and Cloud Storage 내용 정리입니다. 메타데이터(Metastore)와 데이터의 느슨한 결합으로 인해 테이블에 데이터를 import 하는 방법이 다양해졌다. FROM 파일 TO 테이블 테이블을 생성할 때 레코드를 파일에서 가져올 수 있다. CSV, TSV와 같은 파일에 저장된 데이터를 읽어 들여서 테이블을 구성한다. RDBMS에서는 테이블의 레코드가 캡슐화되어서 보호받았다. 이는 DBMS 이외에는 테이블 내부의 데이터를 접근할 수 있는 방법이 없음을 의..
S3 Managing Big Data in Clusters and Cloud Storage - W3 Data Types and File Types Modern Big Data Analysis with SQL 특화 과정 중 세 번째 강의 Managing Big Data in Clusters and Cloud Storage의 세 번째 주차 Data Types and File Types 내용 정리입니다. Data Type은 숫자 데이터를 위한 TINYINT, INT, BIGINT / FLOAT, DOUBLE, DECIMAL과 문자 데이터를 위한 CHAR, VARCHAR, STRING이 있다. File Type은 테이블의 데이터를 저장하는 파일 형식으로 빅 데이터 시스템에서는 AVRO와 PARQUET를 권장한다. 상호 호환성과 성능에 있어서 준수하다. Data Type 외부로부터 파일을 읽어 들여서 테이블을 생성하거나 새로운 테이블을 생성할 때 필드에 대..
S3 Managing Big Data in Clusters and Cloud Storage - W2 Defining Databases Tables and Columns Modern Big Data Analysis with SQL 특화 과정 중 세 번째 강의 Managing Big Data in Clusters and Cloud Storage의 두 번째 주차 Defining Databases Tables and Columns 내용 정리입니다. 데이터베이스와 테이블을 생성/삭제하는 SQL: CREATE, DROP 테이블을 생성할 때 파일로부터 데이터를 읽어 들일 수 있다. 이러한 경우 ROW FORMAT, STOARED AS, LOCATION을 적절히 활용해야 한다. 일반적으로 Hive와 Impalas는 호환이 잘 되지만, 각각의 SQL 엔진이 가지는 고유한 기능이 있으므로 유의해야 한다. 데이터베이스 및 테이블 생성/삭제하기 Hue의 Table Browser를 활용하거나..
S3 Managing Big Data in Clusters and Cloud Storage - W1 Orientation to Data in Clusters and Cloud Storage Modern Big Data Analysis with SQL 특화 과정 중 세 번째 강의 Managing Big Data in Clusters and Cloud Storage의 첫 번째 주차 Orientation to Data in Clusters and Cloud Storage 내용 정리입니다. 데이터베이스를 탐색하는 방법 (SHOW, USE, DESCRIBE) Distributed SQL 엔진은 Metastore를 통해 데이터에 테이블 구조를 부여한다 데이터는 HDFS에 저장되며, HDFS는 클라우드(AWS S3)에 설계할 수 있다. 데이터베이스 탐색하기 Hue Interface 또는 CLI로 데이터베이스를 탐색할 수 있다. CLI로 탐색할 경우 다음과 같은 SQL 명령을 사용한다. 1) SHOW D..
S2 Analyzing Big Data with SQL - W6 Combining Data Modern Big Data Analysis with SQL 특화 과정 중 두 번째 강의 Analyzing Big Data with SQL의 여섯 번째 주차 Combining Data 내용 정리입니다. UNION ALL과 UNION DISTINCT로 SELECT 결과를 수직으로 결합한다. UNION 결합 시 ORDER BY와 LIMIT 연산에 주의하며, Sub Query로 관련 기능을 처리하는 것을 권장한다. JOIN으로 두 테이블을 특정 기준에 따라서 수평으로 결합한다. JOIN 연산은 INNER JOIN, OUTER JOIN으로 구분한다. UNION 결합 UNION은 두 개 이상의 SELECT 결과를 수직(vertically)으로 결합한다. 따라서 UNION으로 결합하기 위해서는 결합하는 SELECT..
S2 Analyzing Big Data with SQL - W5 Sorting and Limiting Data Modern Big Data Analysis with SQL 특화 과정 중 두 번째 강의 Analyzing Big Data with SQL의 다섯 번째 주차 Sorting and Limiting Data 내용 정리입니다. ORDER BY는 정렬을 위한 구문 LIMIT은 행의 개수를 제한하며, Top-N 질의를 구축하거나 SQL 엔진의 과부하를 줄여준다. OFFSET과 같이 사용하셔 Pagination 기능도 구현 가능하다. SQL 작성 순서: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT SQL 처리 순서: FROM, WHERE, GROUP BY, HAVING, SELECT, ORDER BY, LIMIT ORDER BY 구문 기준에 따라서 행을 정렬하는..
S2 Analyzing Big Data with SQL - W4 Grouping and Aggregating Data Modern Big Data Analysis with SQL 특화 과정 중 두 번째 강의 Analyzing Big Data with SQL의 네 번째 주차 Grouping and Aggregating Data 내용 정리입니다. Aggregation은 다수의 행을 하나의 값으로 집계한다. Aggregation Function: COUNT, SUM, AVG, MIN, MAX GROUP BY를 사용해서 행을 그룹화하여 Aggregation 한다. Aggregation 값을 기준으로 필터링하기 위해서 HAVING을 사용하며 사실상 WHERE와 동일하다. NULL 값을 기본적으로 무시한다. 다만 COUNT(*)은 NULL 값을 포함해서 모든 행의 개수를 반환한다. Aggregation Function Aggreg..
S2 Analyzing Big Data with SQL - W3 Filtering Data Modern Big Data Analysis with SQL 특화 과정 중 두 번째 강의 Analyzing Big Data with SQL의 세 번째 주차 Filtering Data 내용 정리입니다. Data Analysis를 위해서 WHERE 구문을 활용한다. WHERE 구문은 조건에 따라서 행을 필터링하며, 조건을 작성하기 위해서 Boolean Expression을 사용한다. Boolean Expression 작성을 위해서는 Comparison Expression과 Logical Expression을 활용한다. Missing Value(NULL) 값을 처리하는 것은 중요하다. 쉘 스크립트를 사용해서 Hive, Impala를 효율적으로 사용한다. WHERE 구문 WHERE 구문은 SQL의 필수적인 구문..