이 게시물은 Capitec의 Preshen Goobiah 및 Johan Olivier와 공동으로 작성되었습니다.
Apache Spark는 대규모 데이터 워크로드를 처리하는 것으로 유명한 널리 사용되는 오픈 소스 분산 처리 시스템입니다. 함께 작업하는 Spark 개발자들 사이에서 빈번하게 적용됩니다. 아마존 EMR, 아마존 세이지 메이커, AWS 접착제 및 맞춤형 Spark 애플리케이션.
아마존 레드 시프트 Apache Spark와의 원활한 통합을 제공하므로 Amazon Redshift 프로비저닝된 클러스터와 클러스터 모두에서 Redshift 데이터에 쉽게 액세스할 수 있습니다. Amazon Redshift 서버리스. 이러한 통합으로 인해 AWS 분석 및 기계 학습(ML) 솔루션의 가능성이 확장되어 더 광범위한 애플리케이션에서 데이터 웨어하우스에 액세스할 수 있게 되었습니다.
와 더불어 Apache Spark용 Amazon Redshift 통합를 사용하면 Java, Scala, Python, SQL 및 R과 같은 널리 사용되는 언어를 사용하여 Spark 애플리케이션을 빠르게 시작하고 손쉽게 개발할 수 있습니다. 애플리케이션은 최적의 성능과 트랜잭션 일관성을 유지하면서 Amazon Redshift 데이터 웨어하우스에서 원활하게 읽고 쓸 수 있습니다. 또한 푸시다운 최적화를 통해 성능 개선의 이점을 누리고 운영 효율성을 더욱 향상시킬 수 있습니다.
Capitec21만 명 이상의 소매 금융 고객을 보유한 남아프리카 최대 소매 은행인 은 남아프리카 사람들이 더 나은 삶을 살 수 있도록 더 나은 은행 업무를 지원하기 위해 간단하고 저렴하며 접근 가능한 금융 서비스를 제공하는 것을 목표로 합니다. 이 게시물에서는 Capitec의 공유 서비스 Feature Platform 팀이 오픈 소스 Amazon Redshift 커넥터를 성공적으로 통합한 방법에 대해 논의합니다. Apache Spark용 Amazon Redshift 통합을 활용한 결과, 개발자 생산성이 10배 증가하고, 기능 생성 파이프라인이 간소화되었으며, 데이터 중복이 XNUMX으로 줄었습니다.
사업 기회
Capitec의 소매 신용 사업부 전반에 걸쳐 AWS Glue로 구축된 19개 기능을 활용할 수 있는 범위에 93개의 예측 모델이 있습니다. 기능 레코드는 Amazon Redshift에 저장된 사실과 차원으로 강화됩니다. Apache PySpark는 다양한 소스의 데이터를 처리할 수 있는 빠르고 분산되며 확장 가능한 메커니즘을 제공하기 때문에 기능 생성을 위해 선택되었습니다.
이러한 생산 기능은 기업 내에서 실시간 정기 대출 신청, 신용 카드 신청, 일괄 월별 신용 행동 모니터링 및 일괄 일일 급여 식별을 가능하게 하는 데 중요한 역할을 합니다.
데이터 소싱 문제
PySpark 데이터 파이프라인의 안정성을 보장하려면 EDW(엔터프라이즈 데이터 웨어하우스)에 저장된 차원 테이블과 팩트 테이블 모두에서 일관된 레코드 수준 데이터를 보유하는 것이 중요합니다. 그런 다음 이러한 테이블은 런타임 시 EDL(Enterprise Data Lake)의 테이블과 조인됩니다.
기능을 개발하는 동안 데이터 엔지니어는 EDW에 대한 원활한 인터페이스가 필요합니다. 이 인터페이스를 통해 EDW의 필수 데이터에 액세스하고 데이터 파이프라인에 통합할 수 있으므로 기능을 효율적으로 개발하고 테스트할 수 있습니다.
이전 솔루션 프로세스
이전 솔루션에서는 제품 팀 데이터 엔지니어가 Redshift 데이터를 Spark에 수동으로 노출하는 데 실행당 30분을 소비했습니다. 단계에는 다음이 포함되었습니다.
- Python에서 예측 쿼리를 구성합니다.
- 제출 부리다 쿼리를 통해 아마존 레드시프트 데이터 API.
- 샘플링을 사용하여 Pandas용 AWS SDK를 통해 AWS Glue 데이터 카탈로그의 데이터를 분류합니다.
이 접근 방식은 대규모 데이터 세트에 문제를 일으키고 플랫폼 팀의 반복적인 유지 관리가 필요하며 자동화하기가 복잡했습니다.
현재 솔루션 개요
Capitec은 기능 생성 파이프라인 내에서 Apache Spark용 Amazon Redshift 통합을 통해 이러한 문제를 해결할 수 있었습니다. 아키텍처는 다음 다이어그램에 정의되어 있습니다.
워크 플로우에는 다음 단계가 포함됩니다.
- 내부 라이브러리는 다음을 통해 AWS Glue PySpark 작업에 설치됩니다. AWS 코드아티팩트.
- AWS Glue 작업은 다음에서 Redshift 클러스터 자격 증명을 검색합니다. AWS 비밀 관리자 공유 내부 라이브러리를 통해 Amazon Redshift 연결을 설정합니다(클러스터 자격 증명, 언로드 위치, 파일 형식 삽입). Apache Spark용 Amazon Redshift 통합은 다음을 지원합니다. AWS 자격 증명 및 액세스 관리 (나는 ~로 향한다 자격 증명을 검색하고 Amazon Redshift에 연결.
- Spark 쿼리는 Amazon Redshift 최적화 쿼리로 변환되어 EDW에 제출됩니다. 이는 Apache Spark용 Amazon Redshift 통합을 통해 달성됩니다.
- EDW 데이터세트는 임시 접두사로 언로드됩니다. 아마존 단순 스토리지 서비스 (Amazon S3) 버킷.
- S3 버킷의 EDW 데이터세트는 Apache Spark용 Amazon Redshift 통합을 통해 Spark 실행기에 로드됩니다.
- EDL 데이터세트는 AWS Glue 데이터 카탈로그를 통해 Spark 실행기에 로드됩니다.
이러한 구성 요소는 함께 작동하여 데이터 엔지니어와 프로덕션 데이터 파이프라인이 Apache Spark용 Amazon Redshift 통합을 구현하고, 쿼리를 실행하고, Amazon Redshift에서 EDL로 데이터를 쉽게 언로드하는 데 필요한 도구를 갖도록 보장합니다.
AWS Glue 4.0에서 Apache Spark용 Amazon Redshift 통합 사용
이 섹션에서는 PySpark에 있는 Redshift 데이터 웨어하우스의 클라이언트 정보로 S3 데이터 레이크에 있는 대출 신청 테이블을 강화하여 Apache Spark에 대한 Amazon Redshift 통합의 유용성을 보여줍니다.
XNUMXD덴탈의 dimclient
Amazon Redshift의 테이블에는 다음 열이 포함되어 있습니다.
- 클라이언트키 – INT8
- 클라이언트Alt키 – VARCHAR50
- 파티식별번호 – VARCHAR20
- 클라이언트생성 날짜 - 날짜
- 취소됨 – INT2
- RowIsCurrent – INT2
XNUMXD덴탈의 loanapplication
AWS Glue 데이터 카탈로그의 테이블에는 다음 열이 포함되어 있습니다.
- 레코드 ID – 빅인트
- 로그 날짜 – 타임스탬프
- 파티식별번호 - 끈
Redshift 테이블은 Apache Spark용 Amazon Redshift 통합을 통해 읽고 캐시됩니다. 다음 코드를 참조하세요.
대출 신청 기록은 S3 데이터 레이크에서 읽어오고 dimclient
Amazon Redshift 정보 표:
결과적으로 (S3 데이터 레이크의) 대출 신청 기록은 다음과 같이 강화됩니다. ClientCreateDate
열(Amazon Redshift에서).
Apache Spark용 Amazon Redshift 통합으로 데이터 소싱 문제를 해결하는 방법
Apache Spark용 Amazon Redshift 통합은 다음 메커니즘을 통해 데이터 소싱 문제를 효과적으로 해결합니다.
- 시간에 딱 맞는 독서 – Apache Spark 커넥터용 Amazon Redshift 통합은 적시 방식으로 Redshift 테이블을 읽어 데이터와 스키마의 일관성을 보장합니다. 이는 특히 다음과 같은 경우에 유용합니다. 유형 2 SCD(느리게 변경되는 차원) 스냅샷 사실을 누적하는 기간. 이러한 Redshift 테이블을 프로덕션 PySpark 파이프라인 내 EDL의 소스 시스템 AWS Glue 데이터 카탈로그 테이블과 결합함으로써 커넥터는 데이터 무결성을 유지하면서 여러 소스의 데이터를 원활하게 통합할 수 있습니다.
- 최적화된 Redshift 쿼리 – Apache Spark용 Amazon Redshift 통합은 Spark 쿼리 계획을 최적화된 Redshift 쿼리로 변환하는 데 중요한 역할을 합니다. 이 변환 프로세스는 데이터 지역성 원칙을 준수하여 제품 팀의 개발 경험을 단순화합니다. 최적화된 쿼리는 Amazon Redshift의 기능과 성능 최적화를 사용하여 PySpark 파이프라인을 위해 Amazon Redshift에서 효율적인 데이터 검색 및 처리를 보장합니다. 이는 개발 프로세스를 간소화하는 동시에 데이터 소싱 작업의 전반적인 성능을 향상시키는 데 도움이 됩니다.
최고의 성능 확보
Apache Spark용 Amazon Redshift 통합은 조건자와 쿼리 푸시다운을 자동으로 적용하여 성능을 최적화합니다. 이 통합을 통해 언로드에 사용되는 기본 Parquet 형식을 사용하면 성능이 향상될 수 있습니다.
추가 세부정보 및 코드 샘플은 다음을 참조하세요. 새로운 소식 – Amazon Redshift와 Apache Spark 통합.
솔루션 이점
통합을 채택함으로써 팀은 다음과 같은 몇 가지 중요한 이점을 얻었습니다.
- 개발자 생산성 향상 – 통합을 통해 제공되는 PySpark 인터페이스는 개발자 생산성을 10배 향상시켜 Amazon Redshift와의 원활한 상호 작용을 가능하게 합니다.
- 데이터 중복 제거 – 데이터 레이크에서 중복 및 AWS Glue 카탈로그 Redshift 테이블이 제거되어 더욱 간소화된 데이터 환경이 구현되었습니다.
- EDW 부하 감소 – 통합을 통해 선택적 데이터 언로드가 용이해졌고, 필요한 데이터만 추출해 EDW의 부하를 최소화했습니다.
Capitec은 Apache Spark용 Amazon Redshift 통합을 사용하여 향상된 데이터 처리, 향상된 생산성 및 보다 효율적인 기능 엔지니어링 생태계를 위한 기반을 마련했습니다.
결론
이 게시물에서는 Capitec 팀이 기능 계산 워크플로를 단순화하기 위해 Apache Spark용 Apache Spark Amazon Redshift 통합을 성공적으로 구현한 방법에 대해 논의했습니다. 이들은 예측 모델 기능을 생성하기 위해 분산형 및 모듈형 PySpark 데이터 파이프라인을 활용하는 것이 중요하다는 점을 강조했습니다.
현재 Apache Spark용 Amazon Redshift 통합은 7개의 프로덕션 데이터 파이프라인과 20개의 개발 파이프라인에서 활용되어 Capitec 환경 내에서 그 효율성을 입증하고 있습니다.
앞으로 Capitec의 공유 서비스 Feature Platform 팀은 데이터 처리 기능을 더욱 강화하고 효율적인 기능 엔지니어링 관행을 촉진하는 것을 목표로 다양한 비즈니스 영역에서 Apache Spark용 Amazon Redshift 통합 채택을 확대할 계획입니다.
Apache Spark용 Amazon Redshift 통합 사용에 대한 자세한 내용은 다음 리소스를 참조하십시오.
저자에 관하여
프레셴 구비아 Capitec의 기능 플랫폼 수석 기계 학습 엔지니어입니다. 그는 기업용 Feature Store 구성요소를 설계하고 구축하는 데 주력하고 있습니다. 여가 시간에는 독서와 여행을 즐깁니다.
요한 올리비에 Capitec 모델 플랫폼의 수석 기계 학습 엔지니어입니다. 그는 기업가이자 문제 해결에 열정적인 사람입니다. 그는 여가 시간에 음악과 사교 활동을 즐깁니다.
수딥타 바그치 Amazon Web Services의 수석 전문가 솔루션 설계자입니다. 그는 데이터 및 분석 분야에서 12년 이상의 경험을 보유하고 있으며 고객이 확장 가능하고 성능이 뛰어난 분석 솔루션을 설계하고 구축하도록 돕습니다. 직장 밖에서 그는 달리기, 여행, 크리켓 경기를 좋아합니다. 그 사람과 연결하세요 링크드인.
사이에드 휴마이어 Amazon Web Services(AWS)의 수석 분석 전문가 솔루션 설계자입니다. 그는 데이터 및 AI/ML에 중점을 둔 엔터프라이즈 아키텍처 분야에서 17년 이상의 경험을 보유하고 있으며 전 세계 AWS 고객이 비즈니스 및 기술 요구 사항을 해결할 수 있도록 지원합니다. 당신은 그 사람과 연결할 수 있습니다 링크드인.
부이사 마스와나 케이프타운에 본사를 둔 AWS의 수석 솔루션 아키텍트입니다. Vuyisa는 고객이 비즈니스 문제를 해결하기 위한 기술 솔루션을 구축하도록 돕는 데 중점을 두고 있습니다. 그는 2019년부터 Capitec의 AWS 여정을 지원해 왔습니다.
- SEO 기반 콘텐츠 및 PR 배포. 오늘 증폭하십시오.
- PlatoData.Network 수직 생성 Ai. 자신에게 권한을 부여하십시오. 여기에서 액세스하십시오.
- PlatoAiStream. 웹3 인텔리전스. 지식 증폭. 여기에서 액세스하십시오.
- 플라톤ESG. 탄소, 클린테크, 에너지, 환경, 태양광, 폐기물 관리. 여기에서 액세스하십시오.
- PlatoHealth. 생명 공학 및 임상 시험 인텔리전스. 여기에서 액세스하십시오.
- 출처: https://aws.amazon.com/blogs/big-data/simplifying-data-processing-at-capitec-with-amazon-redshift-integration-for-apache-spark/
- :있다
- :이다
- $UP
- 06
- 1
- 10
- 100
- 12
- 16
- 17
- 19
- 20
- 2019
- 30
- 7
- a
- 할 수 있는
- ACCESS
- 얻기 쉬운
- 달성
- 가로질러
- 추가
- 추가 정보
- 또한
- 주소
- 구애
- 고착
- 양자
- 저렴한
- AI / ML
- 조준
- 목표
- 허용
- 수
- 또한
- 아마존
- Amazon Web Services
- Amazon Web Services (AWS)
- 중
- an
- 분석
- 및
- 아파치
- 아파치 스파크
- 어플리케이션
- 어플리케이션
- 적용하다
- 접근
- 아키텍처
- 있군요
- 지역
- AS
- At
- 자동화
- 자동적으로
- AWS
- AWS 접착제
- 은행
- 은행
- 기반으로
- 때문에
- 행동
- 이익
- 혜택
- BEST
- 더 나은
- 사이에
- 가장 큰
- 부스트
- 두
- 더 넓은
- 빌드
- 건물
- 내장
- 사업
- by
- CAN
- 기능
- ...곶
- 카드
- 목록
- 변화
- 클라이언트
- 클라이언트
- 클러스터
- CO
- 암호
- 단
- 열
- 결합
- 복잡한
- 구성 요소들
- 계산
- 연결하기
- 연결
- 일관된
- 이 포함되어 있습니다
- 문맥
- 매출 상승
- 변환
- 만들
- 만들기
- 신임장
- 신용
- 크레디트 카드
- 크리켓
- 결정적인
- 관습
- 고객
- 매일
- 데이터
- 데이터 레이크
- 데이터 처리
- 데이터웨어 하우스
- 데이터 세트
- 분산 된
- 태만
- 한정된
- 보여
- 디자인
- 설계
- 세부설명
- 개발
- 개발자
- 개발자
- 개발
- 다른
- 외형 치수
- 치수
- 토론
- 논의 된
- 분산
- 몇몇의
- 용이하게
- 생태계
- 효과적으로
- 유효성
- 효율성
- 효율적인
- 자연스럽게
- 제거 된
- 강조
- 수
- 가능
- 기사
- 엔지니어링
- 엔지니어
- 강화
- 강화
- 풍성한
- 우리의 영적인 행로를
- 확인
- 보장
- Enterprise
- 매니아
- 기업가
- 환경
- 필수
- 에테르 (ETH)
- 현존하는
- 펼치기
- 확장하다
- 경험
- 용이하게하다
- 촉진
- 사실
- 인자
- 사실
- FAST
- 특색
- 특징
- 입양 부모로서의 귀하의 적합성을 결정하기 위해 미국 이민국에
- 금융
- 금융 서비스
- finds
- 초점
- 집중
- 초점
- 수행원
- 럭셔리
- 체재
- 앞으로
- 빈번한
- 에
- 기능
- 추가
- 이득
- 세대
- 얻을
- GitHub의
- 세계적으로
- 처리
- 있다
- he
- 도움
- 도움이
- 도움이
- 그를
- 그의
- 방법
- HTML
- HTTP
- HTTPS
- IAM
- 식별
- 통합 인증
- 구현
- 구현
- import
- 중요성
- 개선하는
- 개량
- in
- 포함
- 포함
- 증가
- 정보
- 통합
- 완성
- 보전
- 상호 작용
- 인터페이스
- 내부의
- 으로
- 문제
- IT
- 그
- 자바
- 일
- 어울리다
- 합류 한
- 여행
- 소금물
- 언어
- 넓은
- 대규모
- 리드
- 배우기
- 왼쪽 (left)
- 도서관
- 도서관
- 처럼
- 링크드인
- 살고있다
- 하중
- 차관
- 위치
- loves
- 기계
- 기계 학습
- 유지
- 유지
- 유튜브 영상을 만드는 것은
- 태도
- 수동으로
- 기구
- 메커니즘
- 백만
- 최소화
- 분
- ML
- 모델
- 모델
- 모듈러
- 모니터링
- 월
- 배우기
- 보다 효율적으로
- 여러
- 음악
- 필요한
- of
- 제공
- 올리브
- on
- 만
- 열 수
- 오픈 소스
- 행정부
- 최적의
- 최적화
- 최적화
- 주문
- 외부
- 위에
- 전체
- 팬더
- 특별히
- 비밀번호
- 용
- 성능
- 계획
- 계획
- 플랫폼
- 플라톤
- 플라톤 데이터 인텔리전스
- 플라토데이터
- 연극
- 연주
- 재생
- 인기 문서
- 제기
- 가능성
- 게시하다
- 사례
- 예언하는
- 너무 이른
- 원칙
- 문제
- 문제 해결
- 문제
- 방법
- 처리
- 프로덕트
- 생산
- 생산력
- 홍보
- 제공
- 제공
- Python
- 쿼리
- 빨리
- R
- 범위
- 읽기
- 읽기
- 실시간
- 기록
- 기록
- 반복
- 감소
- 참조
- 신뢰성
- 유명한
- 필요
- 필수
- 요구조건 니즈
- 해결
- 제품 자료
- 결과
- 결과
- 소매
- 소매 금융
- 직위별
- 달리기
- 달리는
- 봉급
- SC
- 스칼라
- 확장성
- 범위
- SDK
- 원활한
- 완벽하게
- 비밀
- 섹션
- 참조
- 선택된
- 선택
- 선택적
- 연장자
- 서비스
- 설정
- 몇몇의
- 공유
- 선보이는
- 상당한
- 단순, 간단, 편리
- 단순화
- 단순화
- 이후
- 천천히
- 더 매끄럽다
- 스냅 사진
- So
- 사교
- 해결책
- 솔루션
- 풀다
- 해결
- 출처
- 지우면 좋을거같음 . SM
- 소싱
- 남쪽
- 불꽃
- 전문가
- 지출
- SQL
- 시작
- 단계
- 저장
- 저장
- 유선
- 간소화 된
- 끈
- 강한
- 제출
- 성공한
- 성공적으로
- 지원
- 지원
- 체계
- 테이블
- 팀
- 테크니컬
- 일시적인
- 지원
- 그
- XNUMXD덴탈의
- 소스
- 그들의
- 그들
- 그때
- Bowman의
- 그들
- 이
- 을 통하여
- 시간
- 에
- 함께
- 검색을
- 도시
- 거래상의
- 여행
- URL
- 사용
- 익숙한
- 사용
- 유틸리티
- 사용
- 활용
- 가치 있는
- 를 통해
- 창고
- 였다
- 방법..
- we
- 웹
- 웹 서비스
- 했다
- 동안
- 과
- 이내
- 작업
- 협력
- 워크플로우
- 워크 플로우
- 일하는
- 쓰다
- 년
- 굴복
- 당신
- 너의
- 제퍼 넷
- 제로