ADF (Azure Data Factory)를 배치하는 방법 ) 사용할 Snowflake 커넥터

(Mohini Kalamkar) (2020 년 12 월 3 일)

기업은 사내 데이터베이스에서 SaaS 플랫폼에 이르기까지 다양한 위치에 데이터를 저장합니다. 이 데이터에 대한 통찰력을 얻으려면 다양한 소스에서 데이터를 추출하여 데이터웨어 하우스 또는 데이터 레이크로로드해야합니다. 때때로 상당히 복잡한 ETL / ELT 데이터 파이프 라인을 연결하거나 구축하기 위해 기업은 Matillion, Azure Data Factory, Fivetran, Talend Stitch 등과 같은 최신 도구를 사용하는 것을 선호합니다. 아키텍처 및 데이터 요구 사항에 따라 사용 사례에 대해 하나 또는 여러 개의 ETL / ELT 도구를 선택할 수 있습니다.

최근에는 두 가지 Matillion Azure Data Factory (ADF) 를 사용하여 Snowflake의 데이터 클라우드 . 이 게시물의 대부분은 ADF에 대한 저의 경험에 초점을 맞출 것이지만 Matillion에 대해서도 간략하게 설명하겠습니다.

데이터 통합 ​​도구에 대해 논의하기 전에 클라우드 데이터 플랫폼을 고려하고 계신다면 3 개의 주요 퍼블릭 클라우드 중 하나 인 Snowflake를 확인하는 것이 좋습니다. Snowflake는 Hashmap 팀의 모든 핵심 상자를 확인하는 영향력 있고 비용 대비 성능이 뛰어난 서비스에 계속해서 깊은 인상을 받고 있으며, 매우 빠르게 시작하고 실행할 수있는 SQL 최초 솔루션입니다.

Quick Thoughts Matillion에서

Snowflake와 소스를 통합하는면에서 Matillion이 ADF에 비해 성숙도가 더 높다는 것을 발견했습니다. 특히 :

  • 훌륭한 UI
  • 작업별로 확장 및 축소 할 수 있도록 Warehouse 변경
  • Create File Format 구성 요소 (생성 Snowflake 테이블로 데이터를 대량로드 및 언로드하는 데 사용할 수있는 명명 된 파일 형식)

Microsoft ADF 팀은 이러한 기능 중 일부를 ADF 커넥터에 추가하기 위해 계속 노력하고 있습니다. Snowflake.

ADF Snowflake 커넥터

ADF Snowflake 커넥터 로 이동하겠습니다. 아래 나열된 몇 가지 주제를 다룰 것입니다.

  1. ADF Snowflake 커넥터 사용 — SCD 유형 1 구현 . li>
  2. ADF Snowflake 커넥터 기능.
  3. ADF Snowflake 커넥터 제한 (이 문서 작성 기준)

Azure Data Factory (ADF)는 데이터 이동 및 데이터 변환을 조정하고 자동화하기위한 데이터 기반 워크 플로를 만들 수있는 Azure의 클라우드 서비스입니다.

ADF에는 다양한 기본 제공 커넥터가 있습니다. 이를 통해 다양한 데이터 소스 및 대상과 통합 할 수 있으며, 2020 년 6 월에 Microsoft ADF 엔지니어링 팀은 Snowflake에 대한 지원을 대상 데이터 저장소로 추가했습니다.

또한 통합해야 할 필요성이있었습니다. Azure Functions를 Snowflake와 연결하지만 다른 게시물을 위해이 토론을 저장하겠습니다.

ADF Snowflake 커넥터 탐색을 시작하려면 ADF 커넥터로 SCD 유형 1을 구현하는 방법을 살펴 보겠습니다!

시작하기

이 노출 수 다음 Azure 서비스가 사용됩니다 : Azure Blob 저장소, Azure Data Factory (연결된 서비스, 데이터 집합 및 데이터 흐름)

사전 요구 사항 :

  • Azure Blob에 대한 ADF 연결 서비스 스토리지 및 Snowflake 계정이 생성됩니다.
  • 아래 스키마를 사용하여 Snowflake에 Planes 테이블이 생성됩니다.
CREATE TABLE Planes (
ICAO nvarchar(200),
IATA nvarchar(200),
MAKER nvarchar(200),
DESCRIPTION nvarchar(200)
);
  1. 먼저 CSV 파일을 Azure Blob에 업로드하겠습니다.
CSV 파일
CSV 파일

2. ADF에서 blob 파일에 대한 (소스) 데이터 세트를 만듭니다.

Blob 용 데이터 세트
blob 파일

3. Snowflake 용 (싱크) 데이터 세트를 만듭니다.

Snowflake 용 데이터 세트

4. 이제 3 개의 구성 요소가있는 ADF Dataflow를 만들어 보겠습니다. Source, AlterRow 및 Sink.

아래에 표시된 것처럼 1 단계에서 생성 한 소스 데이터 세트를 선택합니다.

Dataflow 소스 설정

5. Dataflow 소스 설정 계속 :

Dataflow 소스 설정

6. 이제 소스 데이터를 미리 보겠습니다.

아래 스크린 샷은 소스의 데이터 미리보기를 보여줍니다.

Dataflow 소스 데이터 미리보기

7. 이제 소스가 준비 되었으면 변경 변환을 추가하겠습니다.변경 변환은 삽입 / 업데이트 / upsert를 허용하고 주어진 조건에 따라 레코드를 삭제합니다.

Upsert에 대한 조건을 지정했습니다.

Dataflow AlterRow

8. Dataflow 싱크 설정.

아래에 표시된 것처럼 Snowflake 용으로 생성 된 연결된 서비스를 선택합니다.

Dataflow 싱크

9. 데이터 흐름 싱크 설정.

Snowflake 스키마, 테이블 이름, 업데이트 방법을 선택합니다.

키 열에서 Snowflake 테이블의 기본 키를 선택합니다. 키 열을 기반으로 레코드는 싱크 테이블에 삽입 / 업데이트 / 삭제 / 업데이트됩니다.

Dataflow의 다음 작업으로 이동하기 전에 데이터 미리보기를 확인하는 것이 좋습니다.

Dataflow Sink

10. 데이터 흐름을 Pipeline으로 가져오고 디버그를 클릭합니다.

데이터 흐름을 파이프 라인으로 가져 오기

11. 이제 Snowflake에서 Planes 테이블을 확인하겠습니다.

모든 레코드가 Snowflake 테이블에 삽입됩니다.

눈송이 테이블 — 평면

12. 다음으로 CSV 파일을 업데이트하겠습니다.

A318을 업데이트하고 B713을 삽입했습니다.

업데이트 된 CSV 파일

13. 파이프 라인을 디버그하고 Snowflake에서 Planes 테이블을 확인합니다.

아래 스크린 샷과 같이 A318에 대한 업데이트 된 레코드가 있습니다.

플레인 테이블의 업데이트 된 레코드

14. 새 레코드 B713이 Planes 테이블에 삽입됩니다.

Planes 테이블 — CSV 테이블에서 삽입 된 새 레코드

13 단계와 14 단계에 표시된 것처럼 업데이트 된 레코드와 새 레코드를 사용할 수 있습니다. Snowflake 테이블에서.

코드를 작성하지 않고도 ADF Snowflake 커넥터를 사용하여 SCD 유형 1을 달성하는 것이 매우 쉽고 간단합니다.

ADF Snowflake 커넥터 기능

ADF Connecto를 구현하는 경우 r for Snowflake는 다음 유형의 활동을 지원할 것임을 알고 있습니다.

자세한 내용은이 문서를 참조하십시오 — https://docs.microsoft.com/en-us/azure/data-factory/connector-snowflake

따라서 커넥터에는 좋은 기능이 있지만 몇 가지 제한 사항도 알고 있어야합니다. 자세히 살펴 보겠습니다.

ADF Snowflake 커넥터 제한 사항

  1. Snowflake 계정에 대한 연결된 서비스를 생성하는 동안 SSO 통합 (인증 자 외부 브라우저)은 아직 지원되지 않습니다.

    li>

  2. ADF Snowflake 커넥터는 Snowflake 저장 프로 시저 실행을 지원하지 않습니다. 그러나 이에 대한 대안 또는 해결 방법은 Azure Functions를 사용하여 저장 프로 시저를 호출하는 것입니다.
  3. 데이터를로드하기 전에 Snowflake 테이블을 사용할 수 있어야합니다.
  4. Snowflake에서 /로 직접 복사 만 지원됩니다. 다음 형식의 경우 : Parquet, 구분 된 텍스트 및 JSON (Snowflake 테이블 또는 쿼리 결과에는 단일 열만 있으며이 열의 데이터 유형은 VARIANT, OBJECT 또는 ARRAY 임). 원본 / 싱크 데이터 저장소 또는 형식이 기본적으로 Snowflake COPY 명령과 호환되지 않는 경우 Azure 청구에 추가 비용을 추가하는 중간 Azure Blob 저장소 인스턴스를 사용하여 기본 제공 준비된 복사본을 사용하도록 설정해야합니다.

최종 생각

ADF Snowflake Connector는 기본 Microsoft 도구를 Snowflake에 연결하고 SCD 유형 1을 구현하는 것을 더 쉽게 만드는 데 진전을 이루고 있습니다. 모든 데이터 통합 ​​도구와 마찬가지로 항상 개별 상황에서 요구하는 사용 사례, 패턴, SLA, 기술 세트 및 데이터 소비 요구 사항을 기반으로 최종 솔루션 접근 방식을 설계, 설계 및 배포하는 것이 좋습니다.

디지털 혁신?

Hashmap은 고객과 협력하여 함께 더 나은 제품을 구축합니다.

데이터 및 분석 제품과 애플리케이션을 클라우드로 이전하려는 경우 또는 원하는 경우 기존에 더 높은 가치의 결과를 제공하기위한 도움말 및 지침과 몇 가지 모범 사례 클라우드 프로그램에 문의하십시오.

Hashmap 은 클라우드의 일부로 다양한 지원 워크숍 및 평가 서비스, 클라우드 현대화 및 마이그레이션 서비스, 컨설팅 서비스 패키지를 제공합니다 ( 및 Snowflake ) 서비스 제공. 귀하의 특정 요구 사항을 처리해 드리겠습니다.

좋아할만한 기타 도구 및 콘텐츠

Snowflake Utilities & 액셀러레이터 | Snowflake로 더 많은 작업 수행 | Hashmap

Hashmap에서 사용할 수있는 모든 Snowflake 유틸리티를 사용해보고 Snowflake : Snowflake Inspector로 더 많은 작업을 수행하세요…

www.hashmapinc.com

(

사용자 측정 항목을 사용하여 Snowflake 청구서 강화

Snowflake 컴퓨팅 지출을 이해하는 데 중요한 방법이 하나 있습니다.

medium.com

)

해시 맵 메가 바이트 | 한 입 크기의 동영상 시리즈

Hashmap Megabytes는 메가 클라우드 아이디어를 한 입 크기로 설명하는 주간 동영상 시리즈입니다.

www.hashmapinc.com

(

Python 작업을 PySpark로 변환하는 5 단계

Apache Arrow 또는 Koalas를 사용하여 Pandas에서 PySpark로 이동

medium.com

)

다른 채널에서 자유롭게 공유하고 Hashmap의 모든 새 콘텐츠를 확인하고 최신 정보를 확인하세요. 여기 . 데이터 엔지니어링 및 클라우드에 대한 모든 것에 대한 일상적인 대화를 들으려면 Hashmap의 팟 캐스트 탭시 해시 맵 Spotify, Apple, Google 및 기타 인기있는 스트리밍 앱에서도 마찬가지입니다.

Hashmap on Tap | Hashmap 팟 캐스트

Hashmap 호스트와 특별 게스트가 회전하면서 다양한 관점에서 다양한 기술을 탐색하면서 음료를 선택합니다.

www.hashmapinc.com

Mohini Kalamkar 는 다음과 같은 클라우드 및 데이터 엔지니어링 컨설턴트입니다. em> 해시 맵 혁신적인 기술 전문가 및 도메인 전문가 그룹과 함께 업계 전반에 걸쳐 데이터, 클라우드, IoT 및 AI / ML 솔루션과 컨설팅 전문성을 제공하여 고객을위한 고 부가가치 비즈니스 성과를 가속화합니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다