Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
요즘 Hadoop 보다 더 뜨고 있는 Spark.
그 Spark의 핵심을 이해하기 위해서는 핵심 자료구조인 Resilient Distributed Datasets (RDD)를 이해하는 것이 필요합니다.
RDD가 어떻게 동작하는지, 원 논문을 리뷰하며 살펴보도록 합시다.
http://www.cs.berkeley.edu/~matei/papers/2012/sigmod_shark_demo.pdf
A guide for what to pay attention to when it comes to monitoring and managing your PostgreSQL database. The content is targeted at application developers as opposed to the typical DBA.
Spark 의 핵심은 무엇인가? RDD! (RDD paper review)Yongho Ha
요즘 Hadoop 보다 더 뜨고 있는 Spark.
그 Spark의 핵심을 이해하기 위해서는 핵심 자료구조인 Resilient Distributed Datasets (RDD)를 이해하는 것이 필요합니다.
RDD가 어떻게 동작하는지, 원 논문을 리뷰하며 살펴보도록 합시다.
http://www.cs.berkeley.edu/~matei/papers/2012/sigmod_shark_demo.pdf
A guide for what to pay attention to when it comes to monitoring and managing your PostgreSQL database. The content is targeted at application developers as opposed to the typical DBA.
AWS EMR을 사용하면서 비용을 최적화하기 위해 필요한 다양한 관점의 방안을 검토하여 정리한 자료.
비용 최적화 대상은 zeppelin/jupyter notebook과 apache spark를 활용하는 서비스를 대상으로 하였으며, 해당 작업이 aws emr에서 어떻게 동작하는지 내부 구조을 파악하여 확인함.
- AWS EMR이란?
- AWS EMR의 과금 방식은?
- 어떻게 비용을 최적화 할 것인가?
- 최적의 EMR 클러스터 구성 방안
- 가성비 높은 Instance 선정 방안
- Apache Spark 성능 개선 방안
가장 중요한 것은 실행할 job의 자원사용량/성능을 모니터링하고, 이에 맞게 자원을 최적화하는 것이 필요함.
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
몇년 전부터 Data Architecture의 변화가 빠르게 진행되고 있고,
그 중 Cloud DW는 기존 Data Lake(Hadoop 기반)의 한계(성능, 비용, 운영 등)에 대한 대안으로 주목받으며,
많은 기업들이 이미 도입했거나, 도입을 검토하고 있다.
본 자료는 이러한 Cloud DW에 대해서 개념적으로 이해하고,
시장에 존재하는 다양한 Cloud DW 중에서 기업의 환경에 맞는 제품이 어떤 것인지 성능/비용 관점으로 비교했다.
- 왜기업들은 CloudDW에주목하는가?
- 시장에는어떤 제품들이 있는가?
- 우리Biz환경에서는 어떤 제품을 도입해야 하는가?
- CloudDW솔루션의 성능은?
- 기존DataLake(EMR)대비 성능은?
- 유사CloudDW(snowflake vs redshift) 대비성능은?
앞으로도 Data를 둘러싼 시장은 Cloud DW를 기반으로 ELT, Mata Mesh, Reverse ETL등 새로운 생테계가 급속하게 발전할 것이고,
이를 위한 데이터 엔지니어/데이터 아키텍트 관점의 기술적 검토와 고민이 필요할 것 같다.
https://blog.naver.com/freepsw/222654809552
빅데이터 개념 부터 시작해서 빅데이터 분석 플랫폼의 출현(hadoop)과 스파크의 등장배경까지 풀어서 작성된 spark 소개 자료 입니다.
스파크는 RDD에 대한 개념과 spark SQL 라이브러리에 대한 자료가 조금 자세히 설명 되어있습니다. (텅스텐엔진, 카탈리스트 옵티마이져에 대한 간략한 설명이 있습니다.)
마지막에는 간단한 설치 및 interactive 분석 실습자료가 포함되어 있습니다.
원본 ppt 를 공개해 두었으니 언제 어디서든 필요에 따라 변형하여 사용하시되 출처만 잘 남겨주시면 감사드리겠습니다.
다른 슬라이드나, 블로그에서 사용된 그림과 참고한 자료들은 작게 출처를 표시해두었는데, 본 ppt의 초기버전을 작성하면서 찾았던 일부 자료들은 출처가 불분명한 상태입니다. 자료 출처를 알려주시면 반영하여 수정해 두도록하겠습니다. (제보 부탁드립니다!)
데브시스터즈의 Cookie Run: OvenBreak 에 적용된 Kubernetes 기반 다중 개발 서버 환경 구축 시스템에 대한 발표입니다.
Container orchestration 기반 개발 환경 구축 시스템의 필요성과, 왜 Kubernetes를 선택했는지, Kubernetes의 개념과 유용한 기능들을 다룹니다. 아울러 구축한 시스템에 대한 데모와, 작업했던 항목들에 대해 리뷰합니다.
*NDC17 발표에서는 데모 동영상을 사용했으나, 슬라이드 캡쳐로 대신합니다.
AWS EMR을 사용하면서 비용을 최적화하기 위해 필요한 다양한 관점의 방안을 검토하여 정리한 자료.
비용 최적화 대상은 zeppelin/jupyter notebook과 apache spark를 활용하는 서비스를 대상으로 하였으며, 해당 작업이 aws emr에서 어떻게 동작하는지 내부 구조을 파악하여 확인함.
- AWS EMR이란?
- AWS EMR의 과금 방식은?
- 어떻게 비용을 최적화 할 것인가?
- 최적의 EMR 클러스터 구성 방안
- 가성비 높은 Instance 선정 방안
- Apache Spark 성능 개선 방안
가장 중요한 것은 실행할 job의 자원사용량/성능을 모니터링하고, 이에 맞게 자원을 최적화하는 것이 필요함.
Cloud dw benchmark using tpd-ds( Snowflake vs Redshift vs EMR Hive )SANG WON PARK
몇년 전부터 Data Architecture의 변화가 빠르게 진행되고 있고,
그 중 Cloud DW는 기존 Data Lake(Hadoop 기반)의 한계(성능, 비용, 운영 등)에 대한 대안으로 주목받으며,
많은 기업들이 이미 도입했거나, 도입을 검토하고 있다.
본 자료는 이러한 Cloud DW에 대해서 개념적으로 이해하고,
시장에 존재하는 다양한 Cloud DW 중에서 기업의 환경에 맞는 제품이 어떤 것인지 성능/비용 관점으로 비교했다.
- 왜기업들은 CloudDW에주목하는가?
- 시장에는어떤 제품들이 있는가?
- 우리Biz환경에서는 어떤 제품을 도입해야 하는가?
- CloudDW솔루션의 성능은?
- 기존DataLake(EMR)대비 성능은?
- 유사CloudDW(snowflake vs redshift) 대비성능은?
앞으로도 Data를 둘러싼 시장은 Cloud DW를 기반으로 ELT, Mata Mesh, Reverse ETL등 새로운 생테계가 급속하게 발전할 것이고,
이를 위한 데이터 엔지니어/데이터 아키텍트 관점의 기술적 검토와 고민이 필요할 것 같다.
https://blog.naver.com/freepsw/222654809552
빅데이터 개념 부터 시작해서 빅데이터 분석 플랫폼의 출현(hadoop)과 스파크의 등장배경까지 풀어서 작성된 spark 소개 자료 입니다.
스파크는 RDD에 대한 개념과 spark SQL 라이브러리에 대한 자료가 조금 자세히 설명 되어있습니다. (텅스텐엔진, 카탈리스트 옵티마이져에 대한 간략한 설명이 있습니다.)
마지막에는 간단한 설치 및 interactive 분석 실습자료가 포함되어 있습니다.
원본 ppt 를 공개해 두었으니 언제 어디서든 필요에 따라 변형하여 사용하시되 출처만 잘 남겨주시면 감사드리겠습니다.
다른 슬라이드나, 블로그에서 사용된 그림과 참고한 자료들은 작게 출처를 표시해두었는데, 본 ppt의 초기버전을 작성하면서 찾았던 일부 자료들은 출처가 불분명한 상태입니다. 자료 출처를 알려주시면 반영하여 수정해 두도록하겠습니다. (제보 부탁드립니다!)
데브시스터즈의 Cookie Run: OvenBreak 에 적용된 Kubernetes 기반 다중 개발 서버 환경 구축 시스템에 대한 발표입니다.
Container orchestration 기반 개발 환경 구축 시스템의 필요성과, 왜 Kubernetes를 선택했는지, Kubernetes의 개념과 유용한 기능들을 다룹니다. 아울러 구축한 시스템에 대한 데모와, 작업했던 항목들에 대해 리뷰합니다.
*NDC17 발표에서는 데모 동영상을 사용했으나, 슬라이드 캡쳐로 대신합니다.
우리가 이름만 들어도 아는 유명 IT 서비스들의 화려한 웹페이지도, 예쁜 모바일 앱도 그 뒤에는 탄탄하고 강력한 분산 시스템을 기반으로 합니다. 이러한 백엔드 시스템이 부실할 경우 서비스나 앱은 그야말로 사상누각입니다. 본 세미나에서는 이러한 시스템들을 만들때 풀어야 할, 가장 기본이 되는 문제와 이슈들 12가지에 도전해봅니다.
GRUTER가 들려주는 Big Data Platform 구축 전략과 적용 사례: Tajo와 SQL-on-HadoopGruter
- 관련 기술 트렌드 소개
- Tajo의 아키텍쳐와 로드맵
Tajo는 Big Data 분석 처리 엔진 분야에서 핫이슈로 부상하고 있는 SQL-on-Hadoop의 차세대 핵심 기술로 Apache Incubation 프로젝트로 등록되어 있는 오픈소스이며, Gruter가 개발을 주도하고 있는 프로젝트입니다.
Similar to [Pgday.Seoul 2018] Greenplum의 노드 분산 설계 (20)
5. 5
만약 여러 PostgreSQL이 동시에 일을 한다면
데이터 처리량에 한계가 없겠구나
10 TB 10 TB 10 TB 10 TB 10 TB 10 TB 10 TB 10 TB 10 TB 10 TB
6. 6
2005년 Greenplum의 탄생!
Network
Interconnect
…
Segment
Node
Standby MasterMaster Node
SEQ SCAN HASH
SEQ SCAN
HASH JOIN HASH
SEQ SCAN
HASH JOIN
SEQ SCAN HASH
SEQ SCAN
HASH JOIN HASH
SEQ SCAN
HASH JOIN
• 세션 연결
• HA 구조로 장애 상황 대응
• 데이터 및 메세지 교환
• 병렬 데이터 저장, 연산, 집계
• 머신러닝 등 고급분석 기법을 병렬로 처리
• 외부 소스(File Server, Hadoop, Cloud등)를 고속 병렬 처리로 직접 연계
• 자체 데이터 이중화 저장 구조로 시스템 고가용성 확보
7. 7
Greenplum의 고성능 병렬 처리
대량의 데이터를 노드 단위로 분산 저장
모든 노드에서 고속의 병렬 데이터 처리
PLA
N
PLA
N
PLA
N
PLA
N
이중화된 데이터로 안정성 보장
증설과 함께 선형적인 성능 향상
8. 8
오픈소스와의 유연한 결합, 환경의 제약 없는 구성
Deploy Anywhere
On-premise
Private Cloud
Public Cloud
Pivotal Container
Service (PKS)
9. 9
질문1. 얼마나 많은 사람들이 Greenplum을 사용하는가?
17국내 고객수
42클러스터수
12
> 200TB
대용량 클러스터수
6.2전체 데이터량
480
단일클러스터기준
최대 데이터량
다수의 고객사로부터 검증된 분석 플랫폼
10. 10
질문2. 하둡과 Greenplum 연동이 원할 한가?
HDFS
Cluster
Computing
Cloud
Storage
In-Memory
Data Grid
interconnect
master
master
System B
interconnect
master
master
System A
일반적인 1:1방식의 연계방식으로는 마스터간 병목 발생
• Spark에서 Greenplum의 테이블에 Read 및
Write
• 데이터 사이언티스트의 Spark 스킬셋 확장
• 고객사 성능비교 테스트 4.8 Hour with
Spark connector vs 15 days with JDBC
(75배 향상)
Yes! 세그먼트에서 직접 고속 병렬 연계 기능이 그린플럼의 강점
11. 11
질문3. 비정형 분석을 위해서 하둡을 함께 사용해야만 하는가?
No. 그린플럼은 비정형 데이터까지 통합하여 분석
REGRESSIONCLASSIFICATIONCLUSTERINGGraph GeospatialTraditional BI / ReportSQL TEXT Transformation
Structured Data
Any Workload
Any Data
비정형 데이터 통합 분석 사례 : 국지성 이상기후 예측
다양한 유형의 날씨 관련 데이터를 병렬 시뮬레이션을 통해 국지성 집중호우 발생 10분 전 예측함
Data 수집 Data 통합/처리 및 분석 Application 활용
§ 다양한 유형의 대용량 데이터 수집 § Large-scale 3D rain computer simulation
- 100개의 날씨 병렬 시뮬레이션 동시 수행
(↔ 기존: 1개씩 시뮬레이션 순차 실행)
- 100m 그리드 공간 대상 예측
(↔ 기존: 2km 또는 5km 그리드 공간 대상)
§ 3D Nowcasting
- 모바일앱을 통해 실시간
국지성 집중호우
발생 10분 전 경고
- 정확도 80% 이상
(↔ 기존 50% 내외)
- Phased-array radar 측정 데이터
: 15개 층의 대기 습도
3차원 측정
(↔ 기존: 1개 층
2차원 측정)
: 30초 단위 업데이트
- 날씨 위성 측정 데이터
: 최상부 구름의 높이, 바람, 온도,
대기 내 습도
- 지도 데이터
- 교통 흐름 데이터
- 위치 태그된 트위터 데이터
ü 인명 및
재산 피해
최소화
[ GPDB 기반 국지성 집중호우 예측 플랫폼 ]
텍스트
벡터 데이터
비트맵
이미지
센서
데이터
- 인구 이동 데이터
대용량 데이터 분산 병렬 처리
(Massively Parallel Processing)
ü 다양한 유형의 데이터를 단일 플랫폼 내 저장
In-Database
예측 모형 분석
…
GPText
* source: “Greenplum for Extreme Weather Predictions and Analytics at Japan’s NICT” (https://www.youtube.com/watch?v=pjDSi1KGaDU)
12. 12
질문4. 머신러닝 기법을 활용할 수 있을까?
Yes! Greenplum의 인-데이터베이스 분석 기법 사용
In-Database Analytics
Native support
확장 Language
기존분석 환경에서는 분석의 신뢰도 저하
분석 성능 한계
DW
샘플링된 데이터만 사용
데이터 전송
속도 한계
상세 데이터 통합 머신 러닝 분석을 통해 저수율 원인 분석
요약데이터
(summary)
상세데이터
(raw data)
일부
공정
전체
공정
기존
불량원인
분석
빅데이터 기반
불량원인 분석
…
약 50만개 데이터 전수 분석
14. 14
Appendix : Greenplum Tuning을 위한 물리 설계
1
데이터 Skew
제거
모든 세그먼트 노드가 동시에 일을 할 수 있도록 데이터를 분산시킨다
Seg1 Seg2 Seg3 Seg4
CREATE TABLE customer (
cust_id VARCHAR(80)
,gender CHAR(5))
DISTRIBUTED BY(gender);
Data Data
Seg1 Seg2 Seg3 Seg4
CREATE TABLE customer (
cust_id VARCHAR(80)
,gender CHAR(5))
DISTRIBUTED BY(cust_id);
Data Data Data Data
15. 15
Appendix : Greenplum Tuning을 위한 물리 설계
2
파티션으로
필터링
디스크 I/O량을 최소화할 수 있는 파티션을 구성하고 사용한다
Seg1 Seg2 Seg3 Seg4
CREATE TABLE orders (
order_id INT
,order_date DATE )
DISTRIBUTED BY (order_id) ;
Data Data
Seg1 Seg2 Seg3 Seg4
:
DISTRIBUTED BY (order_id)
PARTITION BY RANGE (order_date)
(START (‘2018-01-01’)
END (‘2018-12-031’)
EVERY (INTERVAL ‘1 month’));
06 06 06 06
Data Data
SELECT COUNT(*) FROM orders WHERE order_date BETWEEN ‘2018-10-22’ and ‘2018-10-27’
07 07 07 07
08 08 08 08
09 09 09 09
10 10
10 10
16. 16
Appendix : Greenplum Tuning을 위한 물리 설계
3
압축으로
I/O 감소
디스크 I/O량을 최소화할 수 있는 파티션을 구성하고 사용한다
Seg1 Seg2 Seg3 Seg4
CREATE TABLE orders (
order_id INT
,order_date DATE )
DISTRIBUTED BY (order_id)
PARTITION BY RANGE (order_date)
:
Seg1 Seg2 Seg3 Seg4
CREATE TABLE orders WITH (
appendonly=true, compresslevel=5)(
order_id INT
,order_date DATE )
:
06 06 06 06
07 07 07 07
08 08 08 08
09 09 09 09
10 10
10 10
17. 17
Appendix : Greenplum Tuning을 위한 물리 설계
4
필요시
인덱스생성
특정 데이터만 빠르게 조회하기 위한 경우에 한정적으로 인덱스를 생성한다
Seg1 Seg2 Seg3 Seg4
CREATE TABLE orders (
order_id INT
,order_date DATE
,product_id INT )
DISTRIBUTED BY (order_id);
Seg1 Seg2 Seg3 Seg4
CREATE INDEX idx_order_pid
ON orders (product_id);
Data Data Data Data Data Data Data Data