오늘날의 세계에서 고객은 자신의 컴퓨터에서 방대한 양의 데이터를 관리합니다. 아마존 단순 스토리지 서비스 (Amazon S3) 데이터 레이크 - 데이터 레이아웃의 변경 사항을 지속적으로 이해하고 이를 소비 시스템에 제공하려면 복잡한 데이터 파이프라인이 필요합니다. AWS 접착제 크롤러는 AWS Glue 데이터 카탈로그에서 데이터를 분류하는 간단한 방법을 제공하여 스키마 관리 및 데이터 분류와 관련된 무거운 작업을 제거합니다. AWS Glue 크롤러는 Amazon S3에서 데이터 스키마와 파티션을 추출하여 데이터 카탈로그를 자동으로 채우고 메타데이터를 최신 상태로 유지합니다.
그러나 시간이 지남에 따라 데이터가 기하급수적으로 증가함에 따라 특정 테이블의 파티션 수가 크게 늘어날 수 있습니다. 분석 서비스는 다음과 같습니다. 아마존 아테나 수백만 개의 파티션이 포함된 테이블을 쿼리하면 파티션을 검색하는 데 필요한 시간이 늘어나고 쿼리 런타임이 늘어날 수 있습니다.
현재 AWS Glue 크롤러 지원이 확장되어 새로 검색된 테이블에 대한 파티션 인덱스를 자동으로 추가하여 분할된 데이터 세트에 대한 쿼리 처리를 최적화합니다. 이제 크롤러가 실행 중에 새 데이터 카탈로그 테이블을 생성할 때 기본적으로 모든 숫자 및 문자열 유형 파티션 열의 가장 큰 순열을 키로 사용하여 파티션 인덱스도 생성합니다. 그런 다음 데이터 카탈로그는 이러한 키를 기반으로 검색 가능한 인덱스를 생성하여 수백만 개의 파티션이 있는 테이블에서 파티션 메타데이터를 검색하고 필터링하는 데 필요한 시간을 줄입니다. 파티션 인덱스를 생성하면 Athena에서 실행되는 분석 워크로드에 이점이 있습니다. 아마존 EMR, 아마존 레드시프트 스펙트럼및 AWS Glue.
이 게시물에서는 AWS Glue 크롤러를 사용하여 파티션 인덱스를 생성하는 방법을 설명하고 Athena의 파티션 인덱스 유무에 따라 크롤링된 데이터에 액세스할 때 쿼리 성능 향상을 비교합니다.
솔루션 개요
우리는 AWS 클라우드 포메이션 솔루션 리소스를 생성하기 위한 템플릿입니다. 다음 단계에서는 AWS Glue 콘솔이나 AWS Glue 크롤러를 사용하여 파티션 인덱스를 생성하도록 구성하는 방법을 보여줍니다. AWS 명령 줄 인터페이스 (AWS CLI). 그런 다음 Athena를 사용하여 쿼리 성능 향상을 비교합니다.
사전 조건
이 게시물을 따라가려면 다음 페이지에 액세스할 수 있어야 합니다. AWS 자격 증명 및 액세스 관리 (IAM) 관리자 역할은 AWS CloudFormation을 사용하여 리소스를 생성합니다.
솔루션 리소스 설정
CloudFormation 템플릿은 다음 리소스를 생성합니다.
- IAM 역할 및 정책
- 스키마를 보관할 AWS Glue 데이터베이스
- 고도로 분할된 데이터 세트를 가리키는 AWS Glue 크롤러
- 쿼리 결과를 저장하기 위한 Athena 작업 그룹 및 버킷
솔루션 리소스를 설정하려면 다음 단계를 완료하세요.
- 에 로그인 AWS 관리 콘솔 IAM 관리자로서.
- 왼쪽 메뉴에서 발사 스택 CloudFormation 템플릿을 배포하려면:
- 럭셔리 데이터베이스 이름, 기본값 유지
blog_partition_index_crawlerdb
. - 왼쪽 메뉴에서 다음 보기.
- 마지막 페이지에서 세부 정보를 검토하고 AWS CloudFormation이 IAM 리소스를 생성 할 수 있음을 인정합니다.
- 왼쪽 메뉴에서 스택 생성.
- 스택이 완료되면 AWS CloudFormation 콘솔에서 다음으로 이동합니다. 출력 스택의 탭.
- 다음의 값을 기록해 두십시오.
DatabaseName
및GlueCrawlerName
.
이 스택이 배포하는 일부 리소스는 사용 시 비용이 발생합니다.
AWS Glue 크롤러 편집 및 실행
AWS Glue 크롤러를 구성하고 실행하려면 다음 단계를 완료하십시오.
- AWS Glue 콘솔에서 겉옷 탐색 창에서
- 위치 찾기
crawler blog-partition-index-crawler
선택하고 편집. - . 출력 및 일정 설정 섹션 아래 고급 옵션, 고르다 자동으로 파티션 인덱스 생성.
- 크롤러 설정을 검토하고 업데이트합니다.
또는 AWS CLI를 사용하여 크롤러를 구성할 수 있습니다(IAM 역할 및 리전 제공).
- 이제 크롤러를 실행하고 크롤러 실행이 완료되었는지 확인합니다.
이는 고도로 분할된 데이터 세트이며 완료하는 데 약 90분이 소요됩니다.
파티션을 나눈 테이블 확인
AWS Glue 데이터베이스에서 blog_partition_index_crawlerdb
, 테이블이 highly_partitioned_table
생성됩니다.
기본적으로 크롤러는 숫자 또는 문자열인 파티션 열과 동일한 순서로 유효한 열 유형의 파티션 열의 가장 큰 순열을 기반으로 인덱스를 결정합니다. 크롤러가 생성한 테이블의 경우(highly_partitioned_table
), 파티션 열이 있습니다 year
(끈), month
(끈), day
(문자열) 및 hour
(끈).
이 정의를 기반으로 크롤러는 연도, 월, 일, 시간의 순열에 대한 인덱스를 생성했습니다. 크롤러는 접두사가 붙은 인덱스를 생성했습니다. crawler_
기본적으로 생성된 모든 파티션 인덱스에서.
테이블로 이동하여 동일한 내용을 확인하세요. highly_partitioned_table
AWS Glue 콘솔에서 색인 탭.
크롤러는 S3 데이터 소스를 크롤링하고 테이블의 파티션 인덱스를 성공적으로 채울 수 있었습니다.
Athena를 사용한 쿼리 성능 향상 비교
먼저 파티션 인덱스를 사용하지 않고 Athena에서 테이블을 쿼리합니다. Athena를 사용하여 테이블을 확인하려면 다음 단계를 완료하세요.
- Athena 콘솔에서
crawler-primary-workgroup
Athena 작업 그룹으로 선택하고 인정. - 다음 쿼리를 실행합니다.
다음 스크린샷은 파티션 인덱스를 사용하여 필터링을 활성화하지 않은 상태에서 쿼리에 약 32초가 걸렸음을 보여줍니다.
- 이제 Athena 쿼리에서 파티션 인덱스를 활성화합니다.
- 다음 쿼리를 다시 실행하고 런타임을 기록해 둡니다.
다음 스크린샷은 쿼리가 700밀리초만 소요되었음을 보여줍니다. 이는 파티션 인덱스를 사용하여 필터링을 활성화한 경우 훨씬 더 빠릅니다.
정리
AWS 계정에 원치 않는 요금이 부과되지 않도록 AWS 리소스를 삭제할 수 있습니다.
- CloudFormation 스택 생성에 사용되는 IAM 관리자로 CloudFormation 콘솔에 로그인합니다.
- 생성한 CloudFormation 스택을 삭제합니다.
결론
이번 게시물에서는 AWS 크롤러를 구성하여 파티션 인덱스를 생성하는 방법을 설명하고 Athena의 인덱스로 데이터에 액세스할 때 쿼리 성능을 비교했습니다.
테이블에 파티션 인덱스가 없으면 AWS Glue는 테이블의 모든 파티션을 로드한 다음 로드된 파티션을 필터링하므로 메타데이터 검색이 비효율적으로 이루어집니다. Redshift Spectrum, Amazon EMR 및 AWS Glue ETL Spark DataFrames와 같은 분석 서비스는 이제 파티션을 가져오기 위해 인덱스를 활용할 수 있으므로 쿼리 성능이 크게 향상됩니다.
다양한 분석 엔진 전반의 파티션 인덱스 및 쿼리 성능에 대한 자세한 내용은 다음을 참조하세요. AWS Glue 데이터 카탈로그 파티션 인덱스를 사용하여 Amazon Athena 쿼리 성능 향상 및 AWS Glue 파티션 인덱스를 사용하여 쿼리 성능 향상.
이번 크롤러 기능 출시에 기여해주신 모든 분들께 특별한 감사를 드립니다. Yuhang Chen, Kyle Duong, Mita Gavade.
저자 소개
스리비디아 파르타사라티 AWS Lake Formation 팀의 선임 빅 데이터 설계자입니다. 그녀는 데이터 메시 솔루션을 구축하고 커뮤니티와 공유하는 것을 즐깁니다.
산딥 아드완카르 AWS의 수석 기술 제품 관리자입니다. 캘리포니아 베이 지역에 기반을 두고 있는 그는 전 세계 고객과 협력하여 비즈니스 및 기술 요구 사항을 제품으로 변환하여 고객이 데이터를 관리, 보호 및 액세스하는 방법을 개선할 수 있도록 합니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- EVM 금융. 탈중앙화 금융을 위한 통합 인터페이스. 여기에서 액세스하십시오.
- 퀀텀미디어그룹. IR/PR 증폭. 여기에서 액세스하십시오.
- PlatoAiStream. Web3 데이터 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/big-data/efficiently-crawl-your-data-lake-and-improve-data-access-with-aws-glue-crawler-using-partition-indexes/
- :있다
- :이다
- :어디
- $UP
- 1
- 100
- 11
- 27
- 32
- 8
- 9
- 90
- a
- 할 수 있는
- ACCESS
- 액세스
- 계정
- 인정
- 가로질러
- 더하다
- 관리자
- 다시
- All
- 따라
- 또한
- 아마존
- 아마존 아테나
- 아마존 EMR
- Amazon Web Services
- 금액
- an
- 분석
- 분석
- 및
- 어떤
- 대략
- 있군요
- 지역
- 약
- AS
- At
- 자동적으로
- 가능
- 피하기
- AWS
- AWS 클라우드 포메이션
- AWS 접착제
- AWS Lake 형성
- 기반으로
- 만
- 때문에
- 된
- 혜택
- 큰
- 빅 데이터
- 건물
- 사업
- by
- 캘리포니아
- CAN
- 목록
- 원인
- 변경
- 요금
- 첸
- 왼쪽 메뉴에서
- 선택
- 분류
- 단
- 열
- 제공
- 커뮤니티
- 비교
- 비교
- 완전한
- 콘솔에서
- 지속적으로
- 기여
- 비용
- 러
- 만들
- 만든
- 생성
- 만들기
- 창조
- Current
- 고객
- 데이터
- 데이터 액세스
- 데이터 레이크
- 데이터베이스
- 일
- 태만
- 보여
- 배포
- 배치하다
- 설명
- 세부설명
- 결정하다
- 발견
- 아래 (down)
- ...동안
- 효율적으로
- 중
- 가능
- 사용 가능
- 엔진
- 에테르 (ETH)
- 사람
- 확대하는
- 설명
- 기하 급수적으로
- 추출물
- 데이터 추출
- 빠른
- 특색
- 필터링
- 필터링
- 필터
- 최후의
- 따라
- 수행원
- 럭셔리
- 형성
- 에
- 생성
- 주어진
- 공
- 성장
- 성장하는
- 있다
- he
- 무거운
- 무거운 리프팅
- 고도로
- 보유
- 시간
- 방법
- How To
- HTML
- HTTP
- HTTPS
- IAM
- 통합 인증
- 개선
- 개량
- 개량
- in
- 증가
- 증가
- 색인
- 색인
- 비효율적
- 정보
- 으로
- IT
- JPG
- 유지
- 유지
- 키
- 소금물
- 가장 큰
- 시작
- 레이아웃
- 리프팅
- 처럼
- 라인
- 잔뜩
- 확인
- 관리
- 구축
- 매니저
- 조화
- 메타 데이터
- 수도
- 수백만
- 분
- 달
- 배우기
- 많은
- 절대로 필요한 것
- 이동
- 탐색
- 카테고리
- 필요
- 신제품
- 새로운
- 아니
- 지금
- 번호
- of
- on
- 만
- 최적화
- or
- 주문
- 우리의
- 출력
- 위에
- 페이지
- 빵
- 통로
- 성능
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 게시하다
- 제시
- 처리
- 프로덕트
- 제품 관리자
- 제품
- 제공
- 감소
- 지방
- 필수
- 요구조건 니즈
- 필요
- 제품 자료
- 결과
- 결과
- 직위별
- 역할
- 달리기
- 달리는
- 같은
- 초
- 섹션
- 안전해야합니다.
- 연장자
- 서비스
- 세트
- 설정
- 공유
- 그녀
- 쇼
- 상당한
- 크게
- 단순, 간단, 편리
- 해결책
- 솔루션
- 출처
- 불꽃
- 스펙트럼
- 스택
- 단계
- 저장
- 저장
- 똑 바른
- 끈
- 성공적으로
- SUPPORT
- 시스템은
- 테이블
- 받아
- 팀
- 테크니컬
- 이 템플릿
- 감사
- 그
- XNUMXD덴탈의
- 그들의
- 그들
- 그때
- Bowman의
- 그들
- 이
- 시간
- 에
- 오늘의
- 했다
- 번역
- 참된
- 유형
- 유형
- 아래에
- 이해
- 불필요한
- 업데이트
- 사용
- 익숙한
- 사용
- 활용
- 가치
- 마케팅은:
- 여러
- 거대한
- 확인
- 버전
- 였다
- 방법..
- we
- 웹
- 웹 서비스
- 언제
- 어느
- 누구
- 의지
- 과
- 없이
- 작업 그룹
- 일
- 세계
- 얌
- year
- 당신
- 너의
- 제퍼 넷