본문 바로가기

분류 전체보기

(87)
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의 필수적인 구문..
S2 Analyzing Big Data with SQL - W2 SQL SELECT Essentials Modern Big Data Analysis with SQL 특화 과정 중 두 번째 강의 Analyzing Big Data with SQL의 두 번째 주차 SQL SELECT Essentials 내용 정리입니다. SELECT는 SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT으로 구성한다 SELECT List는 SELECT에 의해서 선택된 값들이며, 상수, 테이블의 열, 연산, 내장 함수가 가능하다 연산을 위해서 Data Type이 필요할 수 있다. 테이블 헤더를 지정하기 위해서 AS를 사용한다. DISTINCT를 사용해서 고유한 행을 출력할 수 있다. FROM은 데이터를 가져올 테이블을 지정하며 Active Database에서 가져온다. 테이블이 속한 데..
S2 Analyzing Big Data with SQL - W1 Welcome to the Course Modern Big Data Analysis with SQL 특화 과정 중 두 번째 강의 Analyzing Big Data with SQL의 첫 번째 주차 Welcome to the Course 내용 정리입니다. 주요 SQL 명령: SHOW DATABASES, USE databasename, SHOW TABLES, DESCRIBE tablename, SELECT SELECT에서는 행의 순서는 랜덤이지만 열의 순서는 테이블 구조와 질의에 따라서 결정된다 다양한 SQL 인터페이스가 있지만 근본적으로 ODBC, JDBC를 사용해서 데이터베이스와 연결한다. Hive와 Impala는 자체 CLI 도구인 Beeline과 Impala Shell을 지원한다. SQL Utility 명령 데이터베이스와 테이블에 대한 정보..
Foundations for Big Data Analysis with SQL - 10 빅 데이터 환경과 SQL 상황에 맞는 빅 데이터 플랫폼을 활용한다. 일반적으로 Apache Hive나 Apache Impala의 SQL을 사용해서 복잡한 분석을 수행하고, NoSQL로 데이터를 수집 및 관리한다. SQL은 여전히 분석을 위한 쿼리로 사용하지만, SQL의 이론적 모태인 RDBMS의 개념은 빅 데이터 환경에서 많이 퇴색하였다. 다양한 데이터베이스와 빅 데이터 플랫폼 데이터베이스는 Operational Database와 Analytic Database로 구분한다. 각각의 데이터베이스 성격에 따라서 사용하는 빅 데이터 플랫폼을 상이하다. 1) Analytic Database에서는 Apache Hive, Apache Impala가 사용된다. Analytic Database는 복잡한 분석을 위한 쿼리를 효율적으로 지원하는 ..
Foundations for Big Data Analysis with SQL - 09 빅 데이터 환경에서 RDBMS의 장단점 RDBMS의 장점: 1) Business Rule을 강제하고 2) 데이터를 테이블 형태로 구조화한다. 3) RDBMS를 지원하는 소프트웨어가 많으며 4) DDL을 통한 보안이 용이하다. 5) 종합적으로 소규모 데이터에 적합한 시스템이다. RDBMS의 단점: 1) Schema-on-Write 방식으로 스키마에 맞지 않는 데이터가 버려진다. 2) 자체적인 저장 및 처리 기능으로 인해 효율성이 떨어질 수 있으며, 3) Unstructured Data 처리가 부족한다. 4) 또한 Distributed Transaction에 대한 기술적 고려도 필요하다. 빅 데이터 환경에서 RDBMS가 가지는 장점 빅 데이터 환경에서 RDBMS의 장점은 다음과 같다. 1) Business Rule을 강제할 수 있다. Transa..
Foundations for Big Data Analysis with SQL - 08 빅 데이터의 종류와 SQL 처리 데이터의 종류: Structured, Semi-Structured, Unstructured Data Structured Data는 일반적으로 Schema-on-Write 방식으로 통해 스키마를 구축 Semi-Structured Data의 의미 1) 라벨은 있지만 스키마가 없는 데이터(JSON, XML, CSV) 2) 구조는 있지만 스키마 또는 라벨이 없는 데이터(로그) Unstructured Data를 처리하기 위한 BLOB, CLOB 데이터 타입이 있지만, 일반적인 관계형 데이터베이스 엔진에서 이들을 검색 및 분석하는 기능은 지원하지 않는다. SQL은 Structured Data를 위한 언어이다. 하지만 Schema-on-Read를 통해 Semi-Structured Data에도 적용할 수 있다. Uns..
Foundations for Big Data Analysis with SQL - 07 빅 데이터 저장 및 처리 (Volume) 빅 데이터의 3V+1V = Volume + Variety + Velocity + Value 빅 데이터를 저장하기 위해서 분산 저장 시스템이 사용되며 대표적으로 HDFS가 있다. 분산 저장된 데이터를 처리하기 위해서 MapReduce와 같은 분산 병렬 처리 기법이 활용된다. 빅 데이터의 성격 (3V = Volume, Variety, Velocity) 빅 데이터를 정의하는 기준으로 3V가 있다. 3V는 Volume, Variety, Velocity를 의미한다. Volume은 빅 데이터의 크기를 나타낸다. 엄격하게 정의하고 있지는 않지만 일반적으로 빅 데이터는 30TB 혹은 그 이상의 데이터를 의미한다. Variety는 빅 데이터의 다양성을 의미한다. Structured Data, Semi-Structured..
Foundations for Big Data Analysis with SQL - 06 트랜잭션과 트리거(Database Transaction) Transaction은 다수의 DML을 묶어서 한 번에 처리하며 ACID 원칙을 따른다. Trigger는 이벤트가 발생하면 자동적으로 실행되는 명령으로 이를 통해 데이터가 Business Rule을 따르도록 강제할 수 있다. Operational Database는 Business Rule을 따르도록 데이터를 관리한다(OLTP). 하지만 Analytic Database는 Business Rule에 대한 규제가 덜 엄격하고 대신 빠른 연산 처리가 중요하므로 Transaction이나 Trigger를 지원하지 않는 경우가 많다. Transaction과 ACID 트랜잭션은 일련의 DML을 하나의 원자적인 단위로 처리하는 것을 의미한다. 트랜잭션으로 묶인 DML이 모두 성공하였을 때 COMMIT이 되지만, 중간에 ..