saay, hi

AWS 빅데이터 수집 및 저장 본문

IT 교육

AWS 빅데이터 수집 및 저장

saay-hi 2024. 10. 21. 10:31

Day1

클라우딩 컴퓨터, AWS architecture for  Big Data, 정형 데이터와 비정형 데이터, 아파치 스쿱, AWS 실습을 진행

클라우딩 컴퓨터란 인터넷을 통해 IT 자원(물리적 서버, 네트워크)과 Application을 원하는 시점(on demand)에 사용한만큼만 활용(종량제)가능한 서비스

 

장점) 

1) 인프라에 대한 전문적인 지식 없이도 쉽게 서버 및 어플리케이션 활용이 가능하며,

2) 초기 선 투자가 불필요하고 , 

3) 핵심 역량에만 집중 가능하며(생산성과 사용편의성),

4) Auto-scal compute resources to demands,

5) 사용한 비용만 지불

 

단점)

1) 플랫폼 종속성 문제와

2) 지속적인 운영 시에 비용 측면을 간과할 수 없음

 

 

AWS architecture for  Big Data 부문에선 -> ETL(Event-driven Extract, Transform, Load)

ETL(Event-driven Extract, Transform, Load) : 새로운 데이터에 대한 데이터 변환 (필터링, 정렬, 조인, 집계 등) 수행하고 대화식 쿼리 및 분석을 위한 Redshift를 연동

 

정형 데이터 : RDBMS에서 데이터 마이그레이션이며, 빅데이터와 관련된 가장 일반적인 데이터 수집 프로젝트 중 하나는 EDW 데이터를 마이그레이션하는 것

비정형 데이터 : 웹 페이지, 비디오, 블로그 및 소셜 미디어 사이트에 대한 사용자 의견, 메모, 보고서, 설문조사 응답 문서, 구조화되지 않은 텍스트, 인터넷상의 이미지, 미디어 로그등 다양한 소스를 의미

Apache Sqoop(Sql to Hadoop)은 말 그대로 "Sql to Hadoop"데이터베이스 import, export tool

(다양한 Hadoop 파일 타입에 대해 import / export 기능을 제공)

RDBMS로부터 단일 또는 다수의 table import 기능을 제공하고, import한 데이터를 바탕으로 자동으로 Hive Table생성이 가능

 

<<실습>>

  • 데이터 수집/ 적재하는 서비스인 Glue와 NiFi, 데이터 처리하는 Athena, EMR/PySpark 서비스 진행

 

Glue는 완전관리형 ETL 서비스로서, 서버리스 아키텍처이며 크롤러를 통한 자동 스키마 추론이 가능.

→  크롤러 실습을 통해 실제로 자동 스키마가 나오는지 확인

또한, 통합 데이터 카탈로그를 제공하며 ETL 작업에서 소비하는 리소스에 대해서만 비용을 지불

Athena : serverless 대화형 쿼리 서비스, ANSI SQL, JOIN, Hive DDL을 지원

특히 S3에서 직접 쿼리 실행이 가능, 병렬로 쿼리를 처리하기때문에 복잡한 쿼리도 빠르게 결과 도출이 가능.

실행하는 쿼리에 대해서만 비용을 지불하면 되고, AWS Glue 데이터 카탈로그와 즉시 통합 가능

 

  • Glue + Athena

Glue 데이터 카탈로그와 함께 Athena를 사용하면 쿼리 성능을 최적화 → 데이터 변환하는 데 도움

Athena는 Glue의 데이터 카탈로그를 중앙 위치로 사용하여 AWS 계정 전체에 걸쳐 테이블 메타 데이터를 저장하고 검색하며, Glue 데이터 카탈로그는 다양한 데이터 원본과 데이터 형식을 통합한 메타 데이터 리포지토릴 제공

(Athena 실행 엔진에는 테이블 메타데이터가 필요)

 

 

데이터 처리((1) s3-> s3, (2) s3->Redshift, (3) ETL workflow), 아파치 Nifi를 통해 data 파이프라인 실습 학습

 

Day2

1. s3-> s3

전 날 layer l0, l1, l2를 만듦 l1(AWS-s3)에 저장된 정제된 데이터를 l2에 summary 데이터로 저장. 데이터를 수집하기 전 데이터의 카탈로그 정보를 만든 뒤, 정형데이터는 아테나를 이용하여 DDL문 작성 및 실행.

Glude 데이터 카탈로그를 선택하여 생성한 테이블을 확인 후,  job 생성 및 실행

 

2.s3 ->Redshift

l1,l2에 저장된 summary 데이터를 l2로 저장. Redshift console에서 쿼리 편집기를 이용

glue,athena와 같은 외부 데이터 카탈로그의 데이터베이스를 참조하는 외부 스키마를 생성한 뒤, 쿼리 편집기에서 쿼리를 실행하고 스키마목록에서 생성된 스키마를 확인

 

3. ETL Work Flow

워크플로우 현업에서 잘 사용하지 않음

 

아파치 Nifi란, 시스템 간의 데이터 프름을 자동화하는데 도움이 되도록 구축된 도구(시스템 간에 automated and managed flow를 생성)

웹 기반 그래픽 사용자 인터페이스를 제공하며 데이터 흐름,구성 및 모니터링이 가능하고 코드 없이 구현이 가능한 visual program 패러다임(코드없이 진행)

 

<<실습>>

  • Git bash를 활용해 진행

(따로 주신) ktds.pem을 다운받은 후,  400으로 파일 권한 변경 후, 만들어 놓은 ec2 instance에 public DNS로 host를 수정한 후 진행

Nifi를 통해 캔버스에 이것저것 담아보고 새로운 프로세스 그룹을 만들고, 다양한 경로를 가진 데이어 파이프 라인 제작 완료

Day1

클라우딩 컴퓨터, AWS architecture for  Big Data, 정형 데이터와 비정형 데이터, 아파치 스쿱, AWS 실습을 진행

클라우딩 컴퓨터란 인터넷을 통해 IT 자원(물리적 서버, 네트워크)과 Application을 원하는 시점(on demand)에 사용한만큼만 활용(종량제)가능한 서비스

 

장점) 

1) 인프라에 대한 전문적인 지식 없이도 쉽게 서버 및 어플리케이션 활용이 가능하며,

2) 초기 선 투자가 불필요하고 , 

3) 핵심 역량에만 집중 가능하며(생산성과 사용편의성),

4) Auto-scal compute resources to demands,

5) 사용한 비용만 지불

 

단점)

1) 플랫폼 종속성 문제와

2) 지속적인 운영 시에 비용 측면을 간과할 수 없음

 

 

AWS architecture for  Big Data 부문에선 -> ETL(Event-driven Extract, Transform, Load)

ETL(Event-driven Extract, Transform, Load) : 새로운 데이터에 대한 데이터 변환 (필터링, 정렬, 조인, 집계 등) 수행하고 대화식 쿼리 및 분석을 위한 Redshift를 연동

 

정형 데이터 : RDBMS에서 데이터 마이그레이션이며, 빅데이터와 관련된 가장 일반적인 데이터 수집 프로젝트 중 하나는 EDW 데이터를 마이그레이션하는 것

비정형 데이터 : 웹 페이지, 비디오, 블로그 및 소셜 미디어 사이트에 대한 사용자 의견, 메모, 보고서, 설문조사 응답 문서, 구조화되지 않은 텍스트, 인터넷상의 이미지, 미디어 로그등 다양한 소스를 의미

Apache Sqoop(Sql to Hadoop)은 말 그대로 "Sql to Hadoop"데이터베이스 import, export tool

(다양한 Hadoop 파일 타입에 대해 import / export 기능을 제공)

RDBMS로부터 단일 또는 다수의 table import 기능을 제공하고, import한 데이터를 바탕으로 자동으로 Hive Table생성이 가능

 

<<실습>>

  • 데이터 수집/ 적재하는 서비스인 Glue와 NiFi, 데이터 처리하는 Athena, EMR/PySpark 서비스 진행

 

Glue는 완전관리형 ETL 서비스로서, 서버리스 아키텍처이며 크롤러를 통한 자동 스키마 추론이 가능.

→  크롤러 실습을 통해 실제로 자동 스키마가 나오는지 확인

또한, 통합 데이터 카탈로그를 제공하며 ETL 작업에서 소비하는 리소스에 대해서만 비용을 지불

Athena : serverless 대화형 쿼리 서비스, ANSI SQL, JOIN, Hive DDL을 지원

특히 S3에서 직접 쿼리 실행이 가능, 병렬로 쿼리를 처리하기때문에 복잡한 쿼리도 빠르게 결과 도출이 가능.

실행하는 쿼리에 대해서만 비용을 지불하면 되고, AWS Glue 데이터 카탈로그와 즉시 통합 가능

 

  • Glue + Athena

Glue 데이터 카탈로그와 함께 Athena를 사용하면 쿼리 성능을 최적화 → 데이터 변환하는 데 도움

Athena는 Glue의 데이터 카탈로그를 중앙 위치로 사용하여 AWS 계정 전체에 걸쳐 테이블 메타 데이터를 저장하고 검색하며, Glue 데이터 카탈로그는 다양한 데이터 원본과 데이터 형식을 통합한 메타 데이터 리포지토릴 제공

(Athena 실행 엔진에는 테이블 메타데이터가 필요)

 

 

데이터 처리((1) s3-> s3, (2) s3->Redshift, (3) ETL workflow), 아파치 Nifi를 통해 data 파이프라인 실습 학습

 

Day2

1. s3-> s3

전 날 layer l0, l1, l2를 만듦 l1(AWS-s3)에 저장된 정제된 데이터를 l2에 summary 데이터로 저장. 데이터를 수집하기 전 데이터의 카탈로그 정보를 만든 뒤, 정형데이터는 아테나를 이용하여 DDL문 작성 및 실행.

Glude 데이터 카탈로그를 선택하여 생성한 테이블을 확인 후,  job 생성 및 실행

 

2.s3 ->Redshift

l1,l2에 저장된 summary 데이터를 l2로 저장. Redshift console에서 쿼리 편집기를 이용

glue,athena와 같은 외부 데이터 카탈로그의 데이터베이스를 참조하는 외부 스키마를 생성한 뒤, 쿼리 편집기에서 쿼리를 실행하고 스키마목록에서 생성된 스키마를 확인

 

3. ETL Work Flow

워크플로우 현업에서 잘 사용하지 않음

 

아파치 Nifi란, 시스템 간의 데이터 프름을 자동화하는데 도움이 되도록 구축된 도구(시스템 간에 automated and managed flow를 생성)

웹 기반 그래픽 사용자 인터페이스를 제공하며 데이터 흐름,구성 및 모니터링이 가능하고 코드 없이 구현이 가능한 visual program 패러다임(코드없이 진행)

 

<<실습>>

  • Git bash를 활용해 진행

(따로 주신) ktds.pem을 다운받은 후,  400으로 파일 권한 변경 후, 만들어 놓은 ec2 instance에 public DNS로 host를 수정한 후 진행

Nifi를 통해 캔버스에 이것저것 담아보고 새로운 프로세스 그룹을 만들고, 다양한 경로를 가진 데이어 파이프 라인 제작 완료

Day1

클라우딩 컴퓨터, AWS architecture for  Big Data, 정형 데이터와 비정형 데이터, 아파치 스쿱, AWS 실습을 진행

클라우딩 컴퓨터란 인터넷을 통해 IT 자원(물리적 서버, 네트워크)과 Application을 원하는 시점(on demand)에 사용한만큼만 활용(종량제)가능한 서비스

 

장점) 

1) 인프라에 대한 전문적인 지식 없이도 쉽게 서버 및 어플리케이션 활용이 가능하며,

2) 초기 선 투자가 불필요하고 , 

3) 핵심 역량에만 집중 가능하며(생산성과 사용편의성),

4) Auto-scal compute resources to demands,

5) 사용한 비용만 지불

 

단점)

1) 플랫폼 종속성 문제와

2) 지속적인 운영 시에 비용 측면을 간과할 수 없음

 

 

AWS architecture for  Big Data 부문에선 -> ETL(Event-driven Extract, Transform, Load)

ETL(Event-driven Extract, Transform, Load) : 새로운 데이터에 대한 데이터 변환 (필터링, 정렬, 조인, 집계 등) 수행하고 대화식 쿼리 및 분석을 위한 Redshift를 연동

 

정형 데이터 : RDBMS에서 데이터 마이그레이션이며, 빅데이터와 관련된 가장 일반적인 데이터 수집 프로젝트 중 하나는 EDW 데이터를 마이그레이션하는 것

비정형 데이터 : 웹 페이지, 비디오, 블로그 및 소셜 미디어 사이트에 대한 사용자 의견, 메모, 보고서, 설문조사 응답 문서, 구조화되지 않은 텍스트, 인터넷상의 이미지, 미디어 로그등 다양한 소스를 의미

Apache Sqoop(Sql to Hadoop)은 말 그대로 "Sql to Hadoop"데이터베이스 import, export tool

(다양한 Hadoop 파일 타입에 대해 import / export 기능을 제공)

RDBMS로부터 단일 또는 다수의 table import 기능을 제공하고, import한 데이터를 바탕으로 자동으로 Hive Table생성이 가능

 

<<실습>>

  • 데이터 수집/ 적재하는 서비스인 Glue와 NiFi, 데이터 처리하는 Athena, EMR/PySpark 서비스 진행

 

Glue는 완전관리형 ETL 서비스로서, 서버리스 아키텍처이며 크롤러를 통한 자동 스키마 추론이 가능.

→  크롤러 실습을 통해 실제로 자동 스키마가 나오는지 확인

또한, 통합 데이터 카탈로그를 제공하며 ETL 작업에서 소비하는 리소스에 대해서만 비용을 지불

Athena : serverless 대화형 쿼리 서비스, ANSI SQL, JOIN, Hive DDL을 지원

특히 S3에서 직접 쿼리 실행이 가능, 병렬로 쿼리를 처리하기때문에 복잡한 쿼리도 빠르게 결과 도출이 가능.

실행하는 쿼리에 대해서만 비용을 지불하면 되고, AWS Glue 데이터 카탈로그와 즉시 통합 가능

 

  • Glue + Athena

Glue 데이터 카탈로그와 함께 Athena를 사용하면 쿼리 성능을 최적화 → 데이터 변환하는 데 도움

Athena는 Glue의 데이터 카탈로그를 중앙 위치로 사용하여 AWS 계정 전체에 걸쳐 테이블 메타 데이터를 저장하고 검색하며, Glue 데이터 카탈로그는 다양한 데이터 원본과 데이터 형식을 통합한 메타 데이터 리포지토릴 제공

(Athena 실행 엔진에는 테이블 메타데이터가 필요)

 

 

데이터 처리((1) s3-> s3, (2) s3->Redshift, (3) ETL workflow), 아파치 Nifi를 통해 data 파이프라인 실습 학습

 

Day2

1. s3-> s3

전 날 layer l0, l1, l2를 만듦 l1(AWS-s3)에 저장된 정제된 데이터를 l2에 summary 데이터로 저장. 데이터를 수집하기 전 데이터의 카탈로그 정보를 만든 뒤, 정형데이터는 아테나를 이용하여 DDL문 작성 및 실행.

Glude 데이터 카탈로그를 선택하여 생성한 테이블을 확인 후,  job 생성 및 실행

 

2.s3 ->Redshift

l1,l2에 저장된 summary 데이터를 l2로 저장. Redshift console에서 쿼리 편집기를 이용

glue,athena와 같은 외부 데이터 카탈로그의 데이터베이스를 참조하는 외부 스키마를 생성한 뒤, 쿼리 편집기에서 쿼리를 실행하고 스키마목록에서 생성된 스키마를 확인

 

3. ETL Work Flow

워크플로우 현업에서 잘 사용하지 않음

 

아파치 Nifi란, 시스템 간의 데이터 프름을 자동화하는데 도움이 되도록 구축된 도구(시스템 간에 automated and managed flow를 생성)

웹 기반 그래픽 사용자 인터페이스를 제공하며 데이터 흐름,구성 및 모니터링이 가능하고 코드 없이 구현이 가능한 visual program 패러다임(코드없이 진행)

 

<<실습>>

  • Git bash를 활용해 진행

(따로 주신) ktds.pem을 다운받은 후,  400으로 파일 권한 변경 후, 만들어 놓은 ec2 instance에 public DNS로 host를 수정한 후 진행

Nifi를 통해 캔버스에 이것저것 담아보고 새로운 프로세스 그룹을 만들고, 다양한 경로를 가진 데이어 파이프 라인 제작 완료

Day1

클라우딩 컴퓨터, AWS architecture for  Big Data, 정형 데이터와 비정형 데이터, 아파치 스쿱, AWS 실습을 진행

클라우딩 컴퓨터란 인터넷을 통해 IT 자원(물리적 서버, 네트워크)과 Application을 원하는 시점(on demand)에 사용한만큼만 활용(종량제)가능한 서비스

 

장점) 

1) 인프라에 대한 전문적인 지식 없이도 쉽게 서버 및 어플리케이션 활용이 가능하며,

2) 초기 선 투자가 불필요하고 , 

3) 핵심 역량에만 집중 가능하며(생산성과 사용편의성),

4) Auto-scal compute resources to demands,

5) 사용한 비용만 지불

 

단점)

1) 플랫폼 종속성 문제와

2) 지속적인 운영 시에 비용 측면을 간과할 수 없음

 

 

AWS architecture for  Big Data 부문에선 -> ETL(Event-driven Extract, Transform, Load)

ETL(Event-driven Extract, Transform, Load) : 새로운 데이터에 대한 데이터 변환 (필터링, 정렬, 조인, 집계 등) 수행하고 대화식 쿼리 및 분석을 위한 Redshift를 연동

 

정형 데이터 : RDBMS에서 데이터 마이그레이션이며, 빅데이터와 관련된 가장 일반적인 데이터 수집 프로젝트 중 하나는 EDW 데이터를 마이그레이션하는 것

비정형 데이터 : 웹 페이지, 비디오, 블로그 및 소셜 미디어 사이트에 대한 사용자 의견, 메모, 보고서, 설문조사 응답 문서, 구조화되지 않은 텍스트, 인터넷상의 이미지, 미디어 로그등 다양한 소스를 의미

Apache Sqoop(Sql to Hadoop)은 말 그대로 "Sql to Hadoop"데이터베이스 import, export tool

(다양한 Hadoop 파일 타입에 대해 import / export 기능을 제공)

RDBMS로부터 단일 또는 다수의 table import 기능을 제공하고, import한 데이터를 바탕으로 자동으로 Hive Table생성이 가능

 

<<실습>>

  • 데이터 수집/ 적재하는 서비스인 Glue와 NiFi, 데이터 처리하는 Athena, EMR/PySpark 서비스 진행

 

Glue는 완전관리형 ETL 서비스로서, 서버리스 아키텍처이며 크롤러를 통한 자동 스키마 추론이 가능.

→  크롤러 실습을 통해 실제로 자동 스키마가 나오는지 확인

또한, 통합 데이터 카탈로그를 제공하며 ETL 작업에서 소비하는 리소스에 대해서만 비용을 지불

Athena : serverless 대화형 쿼리 서비스, ANSI SQL, JOIN, Hive DDL을 지원

특히 S3에서 직접 쿼리 실행이 가능, 병렬로 쿼리를 처리하기때문에 복잡한 쿼리도 빠르게 결과 도출이 가능.

실행하는 쿼리에 대해서만 비용을 지불하면 되고, AWS Glue 데이터 카탈로그와 즉시 통합 가능

 

  • Glue + Athena

Glue 데이터 카탈로그와 함께 Athena를 사용하면 쿼리 성능을 최적화 → 데이터 변환하는 데 도움

Athena는 Glue의 데이터 카탈로그를 중앙 위치로 사용하여 AWS 계정 전체에 걸쳐 테이블 메타 데이터를 저장하고 검색하며, Glue 데이터 카탈로그는 다양한 데이터 원본과 데이터 형식을 통합한 메타 데이터 리포지토릴 제공

(Athena 실행 엔진에는 테이블 메타데이터가 필요)

 

 

데이터 처리((1) s3-> s3, (2) s3->Redshift, (3) ETL workflow), 아파치 Nifi를 통해 data 파이프라인 실습 학습

 

Day2

1. s3-> s3

전 날 layer l0, l1, l2를 만듦 l1(AWS-s3)에 저장된 정제된 데이터를 l2에 summary 데이터로 저장. 데이터를 수집하기 전 데이터의 카탈로그 정보를 만든 뒤, 정형데이터는 아테나를 이용하여 DDL문 작성 및 실행.

Glude 데이터 카탈로그를 선택하여 생성한 테이블을 확인 후,  job 생성 및 실행

 

2.s3 ->Redshift

l1,l2에 저장된 summary 데이터를 l2로 저장. Redshift console에서 쿼리 편집기를 이용

glue,athena와 같은 외부 데이터 카탈로그의 데이터베이스를 참조하는 외부 스키마를 생성한 뒤, 쿼리 편집기에서 쿼리를 실행하고 스키마목록에서 생성된 스키마를 확인

 

3. ETL Work Flow

워크플로우 현업에서 잘 사용하지 않음

 

아파치 Nifi란, 시스템 간의 데이터 프름을 자동화하는데 도움이 되도록 구축된 도구(시스템 간에 automated and managed flow를 생성)

웹 기반 그래픽 사용자 인터페이스를 제공하며 데이터 흐름,구성 및 모니터링이 가능하고 코드 없이 구현이 가능한 visual program 패러다임(코드없이 진행)

 

<<실습>>

  • Git bash를 활용해 진행

(따로 주신) ktds.pem을 다운받은 후,  400으로 파일 권한 변경 후, 만들어 놓은 ec2 instance에 public DNS로 host를 수정한 후 진행

Nifi를 통해 캔버스에 이것저것 담아보고 새로운 프로세스 그룹을 만들고, 다양한 경로를 가진 데이어 파이프 라인 제작 완료