일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- AWS Crawler
- kafka 설치
- 지연연산
- lazy evaluation
- ORACLE MSSQL차이
- Spark 최적화
- ORACLE문법
- 데이터 수집
- 카프카
- 스파크
- 데이터베이스복사
- freenom
- Catalyst Optimizer
- 문맥교환
- 실행엔진
- 런타임데이터영역
- 빌드도구
- 데이터파이프라인
- 프로그래머스 큰 수 만들기
- 하둡1.0
- 하둡2.0
- 서버간 복사
- EMR 구조
- 프로그래머스힙
- 하둡에코시스템
- Databricks
- Spark
- 프로그래머스
- 데이터엔지니어링
- 하둡
- Today
- Total
띵유로그
[데이터파이프라인] Presto 본문
Presto는 분산환경에서의 SQL쿼리 엔진입니다. 서로 다른 DB의 data도 join 할 수 있는 기능이 있습니다.
Hive는 중간에 데이터를 디스크에 저장하지만 Presto는 메모리에 올리기 때문에 더 빠르다는 장점이 있습니다.
또 AWS 아테나도 Presto 엔진으로 구성되어있어 쿼리를 실행할 수 있지만, 이기종간의 data join이 불가능합니다.
또 아테나는 서버리스이기때문에 데이터 용량에 따라 요금이 부과되지만, Presto는 사용한 computing power을 사용한 시간에따라 요금이 부과됩니다.
Presto CLI에서 명령어를 제출하면 코디네이터는 분석 후 실행계획을 세웁니다. 그 후 실행계획에 따라 worker에게 task를 줍니다. 따라서 당연히 worker노드를 관리합니다. worker는 task 결과를 코디네이터를 거치지 않고 바로 클라이언트에게 줍니다.
참고로 아래 그림에서는 HDFS라고만 적혀있지만 Hive, Cassandra, S3, RDB등에서 데이터를 읽을 수 있습니다.
Presto의 구성요소를 4가지로 나눌 수 있습니다.
1. Connector
Hive 나 RDS등 DBMS에 접속하기 위한 연결 Adapter입니다. Catalog의 물리적인 정의라고 볼 수 있습니다.
2. Catalog
Connector의 논리적 이름이라고 볼 수 있습니다. 실제로 쿼리를 날릴때 catalog이름을 사용합니다.
예 ) CatalogName.schema.table
3. Schema
유사한 성격의 Table들의 group
4. Table
'DataEngineering' 카테고리의 다른 글
[데이터파이프라인]elastic search (0) | 2022.03.09 |
---|---|
[데이터파이프라인] Presto - Mysql 연동 (0) | 2022.03.01 |
[데이터파이프라인] Glue (0) | 2022.02.22 |
[데이터파이프라인] AWS Glue Crawler 시작하기 (0) | 2022.02.17 |
[데이터파이프라인] EMR에서 Spark 모니터링(Ganglia) (0) | 2022.02.12 |